按钮单击c#后,将文本框数据添加到对象

时间:2013-06-22 02:22:27

标签: c# button scope click

我将一个自定义的Associate对象传递给一个字段,我想在按钮点击事件后添加用户名和密码。问题是我在按钮单击事件中松开了对象的范围。我该如何解决这个问题?这是我到目前为止的代码......

public partial class frmCredentials : Form
    {
        public frmCredentials(Associate _associate)
        {
            InitializeComponent();

        //Put in values for MES system and username
        this.label1.Text = "Please enter your " + _associate.mesType + " password";
        this.txtUsername.Text = _associate.userName;

        //Change form color for MES system
        if (_associate.mesType == "FactoryWorks")
        {
            this.BackColor = System.Drawing.Color.Aquamarine;
        }
        else
        {
            this.BackColor = System.Drawing.Color.Yellow;
        }

    }

    private void btnOk_Click(object sender, EventArgs e)
    {
        //Make sure associate has filled in fields
        if (this.txtUsername.Text == "" || this.txtPassword.Text == "")
        {
            MessageBox.Show("You must enter a Username and Password");
            return;
        }
        this.Visible = false;


        return ;
    }
}

1 个答案:

答案 0 :(得分:0)

解决方案是为Associate对象创建一个实例字段。然后在构造函数中设置实例字段值。

public partial class frmCredentials : Form
{
   private Associate _associate;

    public frmCredentials(Associate _associate)
    {
        InitializeComponent();

        this._associate = _associate;

       //Put in values for MES system and username
       this.label1.Text = "Please enter your " + _associate.mesType + " password";
       this.txtUsername.Text = _associate.userName;

       //Change form color for MES system
       if (_associate.mesType == "FactoryWorks")
       {
          this.BackColor = System.Drawing.Color.Aquamarine;
       }
       else
       {
          this.BackColor = System.Drawing.Color.Yellow;
       }

  }

  private void btnOk_Click(object sender, EventArgs e)
  {
     // you can use _associate object in here since it's an instance field

     //Make sure associate has filled in fields
     if (this.txtUsername.Text == "" || this.txtPassword.Text == "")
     {
          MessageBox.Show("You must enter a Username and Password");
          return;
      }
      this.Visible = false;
      return ;
  }
 }