深圳博客技术论坛

首页 » 【编程讨论学习】 » 『C#技术』 » 利用窗体的自定义属性实现窗体传值
winson - 2007-8-8 9:23:00
第1步:在解决方案上添加一个窗体Form2;并添加textBox1、textBox2、Button1,将Button1的标题设为“确定”,DialogResult属性设为“OK”;ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下:ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
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;
          }

      }

      .....
}
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
第3步:窗体间相互传值演示ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
在Form1添加一个的Botton1、一个comboBox1,在Botton1_Click函数中如下代码:ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
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);
      }

}
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
  要充分演示上述功能,还需要对Form2的代码作如下完善:ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
第1,在Form2_Load中添加如下代码:ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
private Form2_Load(object sender,EventArgs e)
{
    textBox1.Text
=_username;
    textBox2.Text
=_password;
}
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
第2,在textBox1、textBox2的textChanged事件中添加如下代码:ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
private void textBox1_TextChanged(object sender,EventArgs e)
{
   
this.UserName=textBox1.Text;
}

private void textBox2_TextChanged(object sender,EventArgs e)
{
   
this.Password=textBox2.Text;
}
ªCHí7^ö©zbbs.szblogs.comx=:†7Ðçû
1
查看完整版本: 利用窗体的自定义属性实现窗体传值