如何在c#中的事件处理程序中定义事件处理程序之外的变量?

时间:2014-11-26 16:57:33

标签: c# user-interface global-variables windows-forms-designer eventhandler

下面是我在c#windows窗体应用程序中的一些代码。

它分配一个随机的Integer来处理。如何访问句柄的新值,以便在此按钮事件之外的其他函数调用中使用它,因为c#中没有全局变量?

我尝试过使用方法但是当我在按钮事件之外调用它时它仍然无法识别句柄。

在按下此按钮之前,我还会使用什么来制作我不能使用其他控件的GUI?

  private void button1_Click(object sender, EventArgs e)
    {
      Int handle = 0;
      random(ref handle);
    }

4 个答案:

答案 0 :(得分:1)

我假设我误解了你的问题,但万一你错过了明显的问题。这看起来怎么样?

public class MyForm : Form
{
    private int _handle;

    private void button1_Click(object sender, EventArgs e)
    {
        _handle = 0;
    }
}

答案 1 :(得分:1)

两种方式。

  1. 定义成员,使用成员。
  2. 构建一个事件,将该变量发送出去使用在此事件中触发的事件。这等于你直接调用函数需要这个变量。

答案 2 :(得分:1)

    public class MyClass
    {
            private int handle;

            private void button1_Click(object sender, EventArgs e)
            {
                handle = 0;
            }

            private void button2_Click(object sender, EventArgs e)
            {
                GetHandle();
            }

            private int GetHandle()
            {
                return handle;
            }
    }

答案 3 :(得分:1)

您可以定义类级变量并使用它来存储此值。

public class MyClass
{
    private Int _handle = 0;

    private void incrementHandle()
    {
        _handle++;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        random(ref handle);
    }

    ...
}