0

嗨,我刚刚为文本框的 keydown 事件编写了一个方法。这里的问题是:我需要一个变量是“静态的”,也就是说,变量的变化可以保留给方法的下一次运行。我尝试使用静态,但似乎只有静态方法可以允许这样的声明。

请问我能做些什么来解决这个问题?非常感谢!

private  void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {

        if (e.KeyCode != Keys.Enter) return;

        if (comboBox1.SelectedIndex == 0)
        {

            if (textBox1.Text == "00000000")
            {

                typeselected = true;
                type = 0;

            }
            else if (textBox1.Text == "00000001")
            {
                typeselected = true;
                type = 1;

            }
            else if (textBox1.Text == "00000002")
            {
                typeselected = true;
                type = 2;
            }
            else if (textBox1.Text == "00000003")
            {
                typeselected = true;
                type = 3;

            }
            else if (textBox1.Text == "00000004")
            {
                typeselected = true;
                type = 4;

            }
            else if (textBox1.Text == "00000005")
            {
                typeselected = true;
                type = 5;

            }
            else if (textBox1.Text == "00000006")
            {
                typeselected = true;
                type = 6;

            }


            else if (typeselected) { typeselected = excel0(textBox1.Text, type); }
        }
4

3 回答 3

1

您可以使用实例变量

类的实例变量在创建该类的新实例时开始存在,并且在没有对该实例的引用并且实例的析构函数(如果有)已执行时不再存在。

就像是

private int tada = 0;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    tada++;
}
于 2013-07-26T03:48:34.630 回答
0

使您的静态变量成为类实例变量,而不是方法变量。

于 2013-07-26T03:47:56.177 回答
0

实例方法(没有关键字 static)可以引用静态类变量:

class X
{
    static int A;

    public void SetA(int newA)
    {
        A = newA;
    }
}
于 2013-07-26T03:48:12.970 回答