MainFrm.cs:
同样我们修改一下Program.cs的代码:
| public partial class MainFrm: Form { private void MainFrm _Load(object sender, EventArgs e) { Middle.sendEvent += new Middle.SendMessage(this.DoMethod); } public void DoMethod(string getstr) { listBox1.Items.Add(getstr); } } ChildFrm.cs: public partial class ChildFrm: Form { public ChildFrm () { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Middle.DoSendMessage(this.textBox1.Text); textBox1.Text = ""; textBox1.Focus(); } } Middle.cs: public static class Middle { public delegate void SendMessage(string str); public static event SendMessage sendEvent; public static void DoSendMessage(string str) { sendEvent(str); } } |
同样我们修改一下Program.cs的代码:
| static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Application.Run(new Form1()); Form1 mainFrm = new Form1(); childFrm secondFrm = new childFrm(); secondFrm.Show(); Application.Run(mainFrm); } } |
本文介绍了一个使用 C# 编写的简单示例,展示了如何在两个窗体(主窗体 MainFrm 和子窗体 ChildFrm)之间通过自定义的静态类 Middle 实现事件和委托的通信。子窗体可以通过按钮触发事件,将文本框中的内容发送到主窗体,并显示在列表框中。
660

被折叠的 条评论
为什么被折叠?



