最近总有一些奇妙的想法,这是其中之一,可不可以用一个窗体的button操作其他窗体的button呢?下面是我的实现方法:
Form1代码:
public delegate void SetText(); public partial class Form1 : Form { Form2 f2 = new Form2(); public Form1() { InitializeComponent(); //显示两个form f2.Show(); //给form2中的委托实例注册方法 f2.setText += new SetText(ChangeText); } private void ChangeText() { textBox1.Text = "改变了吧!"; button1.PerformClick(); } private void button1_Click(object sender, EventArgs e) { button2.Visible = false; } }
Form2代码:
public partial class Form2 : Form { public Form2() { InitializeComponent(); } //实例化委托 public SetText setText; private void button1_Click_1(object sender, EventArgs e) { //执行委托实例 setText(); } }
实现效果:
前:
后:
Form2的button按下实现了Form1中button的事件,右侧空白按钮消失
这并未完全实现我想要的效果,比如Form2窗体在隐藏状态下,就报错了,欢迎小伙伴们补充