【发布时间】:2015-02-23 20:32:20
【问题描述】:
我有一个附有 3 个用户控件的主窗体。如何在不创建意大利面条代码的情况下让特定用户控件中的事件接触并修改其他两个用户控件的 UI?
主窗体(Form1.cs)
public partial class Form1 : Form
{
private UserControl1 userControl11;
private UserControl2 userControl21;
private UserControl3 userControl31;
public Form1()
{
InitializeComponent();
}
}
UserControl1.cs
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Change buttons around and fill in some data on user control 2 and 3
}
private void button2_Click(object sender, EventArgs e)
{
// Remove certain elements from control2 and 3
}
// .. So forth
}
我将有许多事件在其他两个用户控件上执行许多不同的操作。我正在创建一个类似于 Visual Studio 的基本界面,我可以在其中打开项目、关闭它们、添加文件等。一个表单上的这些操作应该在其他控件中加载不同的窗口等。实现这一目标的最佳方法是什么?创建自定义事件并解析主窗体中的每个事件?还是直接从第一个用户控件访问每个用户控件?还是……?
【问题讨论】: