Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#在其他类中使用int_C# - Fatal编程技术网

C#在其他类中使用int

C#在其他类中使用int,c#,C#,我对编码相当陌生,需要一些帮助 所以我试着做一个%计算器:在文本框1中输入“75%”,然后在文本框2中输入,例如,在文本框3中输入“1000”,它将显示750 但我的问题是,现在只有在编辑文本框2(第三个更改)时,我才希望能够修改txtbox1中的值 public void xylosTextBox2_TextChanged(object sender, EventArgs e) { //---------------------------------------

我对编码相当陌生,需要一些帮助 所以我试着做一个%计算器:在文本框1中输入“75%”,然后在文本框2中输入,例如,在文本框3中输入“1000”,它将显示750

但我的问题是,现在只有在编辑文本框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\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”执行此操作时出现此错误?不要在方法外部初始化值。