C#在其他类中使用整数
我很新的编码,想要一些帮助 所以我想做一个%计算器:在文本框1中输入,比如说,“75%”然后在文本框2中你例如,在文本框3中的“1000”,它会说750.C#在其他类中使用整数
但我的问题是,现在只有当我编辑文本框2第三个更改我想能够修改txtbox1中的值。
public void xylosTextBox2_TextChanged(object sender, EventArgs e)
{
//---------------------------------------------------------------------------
Int32 val1 = Convert.ToInt32(xylosTextBox1.Text);
Int32 val2 = Convert.ToInt32(xylosTextBox2.Text);
Int32 val3 = val2 * val1/100;
Int32 val5 = val1 + val2;
int t1 = Convert.ToInt32(xylosTextBox1.Text);
int t2 = Convert.ToInt32(xylosTextBox2.Text);
int t3 = val5;
//-----------------------------------------------------------------------------
if (val5 > 1)
{
xylosTextBox3.Text = val3.ToString();
}
}
现在,当我去
private void xylosTextBox1_TextChanged(object sender, EventArgs e)
并尝试输入如果val5> 1它说,它不承认val5
private void xylosTextBox1_TextChanged(object sender, EventArgs e)
if (val5 > 1)
{
xylosTextBox3.Text = val3.ToString();
}
你为什么不只是添加xylosTextBox2的同一事件处理程序到你的xylosTextBox1。这样,无论何时您首先更新第一个或第二个文本框,您都将执行计算并更新第三个文本框。
xylosTextBox1.TextChanged += xylosTextBox2_TextChanged;
xylosTextBox2.TextChanged += xylosTextBox2_TextChanged;
作为一个说明,如果你有这个去了,你应该在xylosTextBox2_TextChanged的名称更改为更具apropriate。
如果您声明一个变量里面xylosTextBox2_TextChanged()
然后它不能被xylosTextBox1_TextChanged()
看到。您必须声明它的方法外:
int val1, val2, val3, val4, val5;
public void xylosTextBox2_TextChanged(object sender, EventArgs e)
{
//---------------------------------------------------------------------------
val1 = Convert.ToInt32(xylosTextBox1.Text);
val2 = Convert.ToInt32(xylosTextBox2.Text);
val3 = val2 * val1/100;
val5 = val1 + val2;
int t1 = Convert.ToInt32(xylosTextBox1.Text);
int t2 = Convert.ToInt32(xylosTextBox2.Text);
int t3 = val5;
//-----------------------------------------------------------------------------
if (val5 > 1)
{
xylosTextBox3.Text = val3.ToString();
}
}
错误字段初始值设定项无法引用非静态字段,方法或属性'CSGO_Value.Form1.xylosTextBox1'\t 当我这样做时出现此错误? – user2227874
不要初始化方法外的值。 –
您的回答对于计算器来说太宽泛了,您最好阅读[Microsoft .NET中的变量和方法范围](https://msdn.microsoft.com/en-us/library/ms973875.aspx) – Sayse
那些不是类变量,它们是局部变量(在'xylosTextBox2_TextChanged'范围内)。 –