如何使用接口或类将常见 UI 事件分组到一个位置?



有没有办法将所有常见的UI事件放在一个文件中。这是我所拥有的 我有各种用户窗体,其中说我有一个关闭窗体的关闭按钮。因此,而不是在每个表单中编写一个事件来关闭。可以有一个事实或其他东西来拥有此代码,我们只是以各自的形式引用它。

对于一组具有凝聚力并作为一个组协同工作的控件,我建议创建一个自定义控件。

但是,对于关闭按钮的示例(为什么您的窗体需要标题栏中的标准按钮之上的按钮?),您可以使用的是继承

所有 WinForms 表单都派生自Form。但他们不必直接从Form派生.因此,您可以创建一个包含所有常见控件的"模板"表单,并具有适当的定位等。

然后,当您创建新表单时,您进入其代码并更改

public partial class NewForm : Form

public partial class NewForm : TemplateForm

唯一有点令人讨厌的是,如果您希望派生表单的设计器正确显示更新的布局,则必须在每次更改模板后重新编译。


创建一个新的 Windows 窗体应用程序。我选择了C#,.NET Framework,VS 2019。

在窗体 1 上,添加一个按钮。在它的点击事件中具有:

private void Button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}

保存更改,生成项目。

现在将Form2添加到项目中。选择"查看代码"并编辑其声明行:

public partial class Form2 : Form1

编辑Program.cs,使Form2成为启动窗体:

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form2());
}

运行程序。您将看到它Form2正在运行,但它具有来自Form1的按钮,当您单击该按钮时,您会收到Hello消息。

相关内容

最新更新