c# – 如何在UserControl中关闭表单

我用按钮Save,Close和Cancel创建了一个UserControl.我想关闭表单而不保存取消按钮,提示消息保存在关闭按钮上,保存而不关闭保存按钮.通常,我会在Cancel按钮上使用this.Close(),但UserControl没有这样的选项.所以我想我必须为此设置一个属性.

向下滚动“可能已有您答案的问题”部分,我遇到了这个问题:How to close a ChildWindow from an UserControl button loaded inside it?我使用了以下C#代码

private void btnCancel_Click(object sender,EventArgs e)
{
    ProjectInfo infoScreen = (ProjectInfo)this.Parent;
    infoScreen.Close();
}

这可以完成一个屏幕的工作,但我想知道是否必须为我拥有的所有屏幕应用此代码?我认为应该有一种更有效的方式.所以我的问题是:我是否需要为我拥有的每种表单应用此代码,还是有另一种(更有效)的方式?

解决方法

您可以使用

((Form)this.TopLevelControl).Close();

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...