[转]winForm:利用窗体的自定义属性实现窗体传值

本文转自:http://bbs.szblogs.com/showtopic-230.aspx
原文如下:
第1步:在解决方案上添加一个窗体Form2;并添加textBox1、textBox2、Button1,将Button1的标题设为“确定”,DialogResult属性设为“OK”;

第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下:

public partial class Form2: Form
{
     
private string _username;
     
private string _password;
     
public string UserName
     
{
         
get
         
{
             
return _username;
          }

         
set
         
{
              _username
=value;
          }

      }

     
public string Password
     
{
         
get
         
{
             
return _password;
          }

         
set
         
{
              _password
=value;
          }

      }

      .....
}


第3步:窗体间相互传值演示
在Form1添加一个的Botton1、一个comboBox1,在Botton1_Click函数中如下代码:

private void button1_Click(object sender,EventArgs e)
{
      Form2 myForm2
= new Form2();
      myForm2.UserName
="Richard";//Form1向Form2传值!!!
      myForm2.Password="pwd1234";
      DialogResult result
= myForm2.ShowDialog();
     
if(result==DialogResult.OK)
     
{
          comboBox1.Items.Add(myForm2.UserName);
////Form2向Form1传值!!!
          comboBox2.Items.Add(myForm2.Password);
      }

}


  要充分演示上述功能,还需要对Form2的代码作如下完善:
第1,在Form2_Load中添加如下代码:

private Form2_Load(object sender,EventArgs e)
{
    textBox1.Text
=_username;
    textBox2.Text
=_password;
}



第2,在textBox1、textBox2的textChanged事件中添加如下代码:

private void textBox1_TextChanged(object sender,EventArgs e)
{
   
this.UserName=textBox1.Text;
}

private void textBox2_TextChanged(object sender,EventArgs e)
{
   
this.Password=textBox2.Text;
}

posted on 2007-09-24 09:10  freeliver54  阅读(1834)  评论(2编辑  收藏  举报

导航