c#关于两窗体访问

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:14:18
一个窗体叫Form1(主窗体)有一个button1和一个Textbox ,有如下代码
private void button1_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2();
F2.Show();
}
public void SelextText11(int start, int length)
{
textBox1.Select(start, length);
}
另一个窗体Form2只有一个按钮,有如下代码
private void button1_Click(object sender, EventArgs e)
{
frmMain f1 = new frmMain();
f1.SelextText11(3, 3);
}
为什么不能把Textbox1中的字符选中变蓝色啊?

frmMain f1 = new frmMain();
你新New了一个叫f1的窗体
这个窗体就不是那个叫Form1的窗体
怎么可能选中在Form1上的那个Textbox1呢?

From1中SelexText()方法中的textBox1是Form1中的一个对象,在Form2中不能通过简单调用SelexText()方法对其进行操作。
可以试试下面的方法:
1、将Form1中的Textbox1的级别设置为public;
2、在From2中通过如下方式引用——
Form1 f1=New Form1();
f1.Show();
f1.Textbox1.Select(0,5);

试试F2.ShowDialog()

textBox1.Focus()
设置控件焦点