C#在其他类中使用int
我对编码相当陌生,需要一些帮助 所以我试着做一个%计算器:在文本框1中输入“75%”,然后在文本框2中输入,例如,在文本框3中输入“1000”,它将显示750 但我的问题是,现在只有在编辑文本框2(第三个更改)时,我才希望能够修改txtbox1中的值C#在其他类中使用int,c#,C#,我对编码相当陌生,需要一些帮助 所以我试着做一个%计算器:在文本框1中输入“75%”,然后在文本框2中输入,例如,在文本框3中输入“1000”,它将显示750 但我的问题是,现在只有在编辑文本框2(第三个更改)时,我才希望能够修改txtbox1中的值 public void xylosTextBox2_TextChanged(object sender, EventArgs e) { //---------------------------------------
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\u TextChanged()
中声明变量,则xylosTextBox1\u 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();
}
}
如果在
xylosTextBox2\u TextChanged()
中声明变量,则xylosTextBox1\u 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();
}
}
为什么不将xylosTextBox2的相同事件处理程序添加到xylosTextBox1中呢。这样,无论您何时首先更新第一个或第二个文本框,您都将进行计算并更新第三个文本框
xylosTextBox1.TextChanged += xylosTextBox2_TextChanged;
xylosTextBox2.TextChanged += xylosTextBox2_TextChanged;
需要注意的是,如果您这样做,您应该将xylosTextBox2的名称更改为更合适的名称。为什么不将xylosTextBox2的相同事件处理程序添加到xylosTextBox1中呢。这样,无论您何时首先更新第一个或第二个文本框,您都将进行计算并更新第三个文本框
xylosTextBox1.TextChanged += xylosTextBox2_TextChanged;
xylosTextBox2.TextChanged += xylosTextBox2_TextChanged;
请注意,如果您这样做,您应该将xylosTextBox2_TextChanged的名称更改为更合适的名称。您的答案对于stackoverflow来说太宽泛了,您最好阅读这些不是类变量,它们是局部变量(在
xylosTextBox2_TextChanged
的范围内)。您的答案对于stackoverflow来说太宽泛了,您最好阅读这些不是类变量,它们是局部变量(在xylosTextBox2_TextChanged
的范围内)。错误6字段初始值设定项无法引用非静态字段、方法,或属性“CSGO_Value.Form1.xylosTextBox1”执行此操作时出现此错误?不要在方法外部初始化值。错误6字段初始值设定项无法引用非静态字段、方法或属性“CSGO_Value.Form1.xylosTextBox1”执行此操作时出现此错误?不要在方法外部初始化值。