c# 子窗体如何访问主窗体中的textbox
时间: 2024-09-20 20:13:21 浏览: 9
在 C# 中,子窗体要访问主窗体(Form)中的 TextBox 控件,你需要通过引用的方式来通信。这里是一个基本的例子:
首先,在主窗体(通常命名为 MainForm.cs 或 Form1.cs)上,假设有一个名为 textBox1 的 TextBox 控件:
```csharp
public partial class MainForm : Form
{
// 公开这个 TextBox,使得子窗体可以访问
public TextBox textBox1 { get; set; }
// 其他 Form 构造函数、事件处理等...
}
```
然后,在子窗体(SubForm.cs 或其他子类)中,你可以这样获取并操作主窗体的 TextBox:
```csharp
public partial class SubForm : Form
{
private MainForm mainForm;
public SubForm(MainForm main)
{
InitializeComponent();
this.mainForm = main; // 存储对主窗体的引用
}
private void button1_Click(object sender, EventArgs e)
{
// 调用主窗体的 textBox1,并赋值
mainForm.textBox1.Text = "这是从子窗体设置的文本";
}
}
```
在这个例子中,子窗体需要一个指向主窗体的实例,通常是在子窗体构造函数里传入。然后通过 `mainForm.textBox1` 来访问和修改 TextBox。