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上面有效,在这方法里面怎么无效了呢,没显示";
         }
    }
}
=================================================
代码如上,哪位前辈能说下为什么吗?

解决方案 »

  1.   

    显示窗口
    t.ShowDialog();
    或t.Show();
      

  2.   

     Form1 t = new Form1();
    ===========================
    上面是我发帖的时候漏了,vs2008里存的t,但没显示。也没提示啥错误。就是没显示
      

  3.   

      textBox1.Text = "Text上面有效,在这方法里面怎么无效了呢";
                MessageBox.Show("这个弹窗显示了,上面这句还是没反应");
      

  4.   

    呵呵,LZ 将两个对象搞昏了你实例化了2个FORM1两个Form1 不是一个,所以你改写第二个Form1  的Text 值并不会在第一个Form1 中显示
    private void button1_Click(object sender, EventArgs e)
            {
               
                Form1 t = new Form1();
               
           
                textBox1.Text="这里有效textbox1里会显示";
                this.test();//这里修改一下
            } 
      

  5.   

            private void button1_Click(object sender, EventArgs e)
            {            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没显示呢?
            }         
            
      

  6.   

    用t.test() 唯独textbox不显示,其它代码都运行正常。
    this.text()这样是正常的
      

  7.   

    t都没显示,t里的textbox怎么会显示呢
      

  8.   

    作用域不同,等于在b里办事,期望a得到结果,又没有代码去联系两者,有点儿混乱。{
    ...
    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();
    }