个人记录
实现从其他位置操作某窗体控件。
代码实现
在需要被控制控件的出窗体中
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public static Form1 form1;//使用
public Form1()
{
InitializeComponent();
form1 = this;//使用
}
}
}
在类中
namespace WindowsFormsApp1
{
public static class Class1
{
public static void Method()
{
//此处写入需要执行的操作或改变属性
//Form1.form1.textBox1.text = "111";
Form1.form1.listBox1.Items.Clear();
}
}
}
在其他窗体通过类控制控件
namespace WindowsFormsApp1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
Class1.Method();
}
}
}
也可以通过此方法实现跨窗体传值到控件,只要在类方法中添加变量,在调用的时候写入即可。修改后的代码如下
在类中
namespace WindowsFormsApp1
{
public static class Class1
{
public static void Method(string strtext)//string可改其他变量类型和使用多个变量
{
Form1.form1.textBox1.text = strtext;
}
}
}
在其他窗体通过类控制控件
namespace WindowsFormsApp1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
string text = "111";
Class1.Method(text);
}
}
}