C# 将值从类传递到按钮单击事件

C# 将值从类传递到按钮单击事件,c#,C#,我想将int\u iD传递给我的按钮单击事件。现在,我已经将我的值传递给textbox,并在按钮单击中使用它。是否仍然可以绕过文本框 public MifarePasswordForm(int _iD) { InitializeComponent(); int iD = _iD; textBox1.Text += iD; } 按钮点击事件 private void btnOK_Click(object sender, EventArgs e) { byte Oi

我想将
int\u iD
传递给我的按钮单击事件。现在,我已经将我的值传递给
textbox
,并在按钮单击中使用它。是否仍然可以绕过
文本框

public MifarePasswordForm(int _iD)
{
    InitializeComponent();
    int iD = _iD;
    textBox1.Text += iD;
}
按钮点击事件

private void btnOK_Click(object sender, EventArgs e)
{
    byte Oid = Convert.ToByte(textBox1.Text);
}
private void btnOK_Click(object sender, EventArgs e)
{
    byte Oid = Convert.ToByte(nID);
}

如果两个方法都存在于单个类中,则创建私有属性,否则创建公共属性并使用它

public int nID;

public MifarePasswordForm(int _iD)
{
    InitializeComponent();
    nID = _iD;
    textBox1.Text += iD;
}
按钮点击事件

private void btnOK_Click(object sender, EventArgs e)
{
    byte Oid = Convert.ToByte(textBox1.Text);
}
private void btnOK_Click(object sender, EventArgs e)
{
    byte Oid = Convert.ToByte(nID);
}

您当前要做的是将您的
iD
设置为局部变量(即,在方法/构造函数范围内):

您应该在范围中,而不是在方法范围中,将您的
iD
设置为
私有
字段:

private int iD; //declare here
public MifarePasswordForm(int _iD)
{
    InitializeComponent();
    iD = _iD; //don't declare here
    textBox1.Text += iD;
}
这样您就可以像这样使用它:

private void btnOK_Click(object sender, EventArgs e)
{
   byte Oid = (byte)iD;
 }

应将此变量声明为类级变量:

public class MifarePasswordForm
{
    public int iD {get;set;} // or private field

    public MifarePasswordForm(int _iD)
    {
        InitializeComponent();
        iD = _iD; // here you don't create, only use
        textBox1.Text += iD;
    }

    private void btnOK_Click(object sender, EventArgs e)
    {
       //inside this method you can use this variable

       byte Oid = Convert.ToByte(iD);
    }

    //other code
}

现在,您可以在此类的任何方法中使用此变量。

创建公共属性并使用它。您的意思是将按钮单击事件更改为公共?