我想将int _iD
传递给我的按钮点击事件。现在,我已将我的值传递给textbox
并在按钮点击时使用它。无论如何都可以绕过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);
}
答案 0 :(得分:1)
如果两个方法都存在于单个类中,则创建一个私有属性,然后创建公共属性并使用它,
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(nID);
}
答案 1 :(得分:1)
您目前所做的是使iD
成为局部变量(即在方法/构造函数范围内):
public MifarePasswordForm(int _iD)
{
InitializeComponent();
int iD = _iD; //here it is, the iD is in the constructor/method scope,
//it cannot be accessed outside of the scope
textBox1.Text += iD;
}
您应该在类范围内而不是方法范围内设置iD
private
字段:
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;
}
答案 2 :(得分:1)
您应该将此变量声明为类级别变量:
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
}
现在,您可以在此类的任何方法中使用此变量。