winform 窗体间控件的访问用委托代码实现
时间: 2023-07-31 22:08:58 浏览: 104
以下是一个简单的示例代码,演示了如何使用委托实现窗体间控件的访问:
目标窗体中定义委托类型和方法:
```
public delegate void UpdateTextBoxDelegate(string text);
public void UpdateTextBox(string text)
{
if (textBox1.InvokeRequired)
{
Invoke(new UpdateTextBoxDelegate(UpdateTextBox), new object[] { text });
}
else
{
textBox1.Text = text;
}
}
```
源窗体中创建委托对象,并将其指向目标窗体中的委托方法:
```
private void button1_Click(object sender, EventArgs e)
{
TargetForm targetForm = new TargetForm();
UpdateTextBoxDelegate updateTextBoxDelegate = new UpdateTextBoxDelegate(targetForm.UpdateTextBox);
updateTextBoxDelegate("Hello, World!");
}
```
在源窗体中调用委托对象,从而实现对目标窗体控件的操作。需要注意的是,在UpdateTextBox方法中,如果需要对控件进行操作,需要使用Invoke方法,以确保在正确的线程上执行操作。
阅读全文