namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
Form1 t = new Form1();
textBox1.Text="这里有效textbox1里会显示";
t.test();
}
public void test() { textBox1.Text = "Text上面有效,在这方法里面怎么无效了呢,没显示";
}
}
}
=================================================
代码如上,哪位前辈能说下为什么吗?
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
Form1 t = new Form1();
textBox1.Text="这里有效textbox1里会显示";
t.test();
}
public void test() { textBox1.Text = "Text上面有效,在这方法里面怎么无效了呢,没显示";
}
}
}
=================================================
代码如上,哪位前辈能说下为什么吗?
t.ShowDialog();
或t.Show();
===========================
上面是我发帖的时候漏了,vs2008里存的t,但没显示。也没提示啥错误。就是没显示
MessageBox.Show("这个弹窗显示了,上面这句还是没反应");
private void button1_Click(object sender, EventArgs e)
{
Form1 t = new Form1();
textBox1.Text="这里有效textbox1里会显示";
this.test();//这里修改一下
}
{ Form1 t = new Form1();
textBox1.Text = "这里有效textbox1里会显示";
t.test();//这里修改一下
}
public void test() { textBox1.Text += "Text上面有效,在这方法里面怎么无效了呢";
MessageBox.Show("???");
=================================================这样不显示,但是msg消息会弹出,下面的代码也会运行。 private void button1_Click(object sender, EventArgs e)
{ Form1 t = new Form1();
textBox1.Text = "这里有效textbox1里会显示";
this.test();//这里修改一下 这里修改后下面方法里的textbox会显示了,但先前为什么其它代码可以运行,唯独textbox1没显示呢?
}
this.text()这样是正常的
...
Form1 t = new Form1(); //创建一个新的窗体。
textBox1.Text="这里有效textbox1里会显示"; //原窗体(this)的textBox1的Text改变.
t.test(); //执行新窗体(t)所包含的过程。这时,过程中的textBox1是属于窗体t,而不是属于原窗体的。
//this.test()的正常是肯定的,因为这意味着执行的是同一窗体中所包含的过程。//如果你在执行中,希望原窗体textBox1得到你期望的结果那么可以:
textBox1.Text += t.textBox1.Text;//或者打开窗体t, 查看效果:
t.Show();
}