如何从其他函数访问变量?

时间:2018-05-06 02:05:34

标签: c# winforms

我正在尝试从其他函数访问变量。但是当我尝试将我的变量设置为函数中的公共或静态时,错误会随处出现(特别是公共的)。这是我的代码。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        string f = textBox1.Text;
        label6.Text = f;
        label9.Text = f;
    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        string n = textBox2.Text;
        label14.Text = n;
    }

    private void textBox6_TextChanged(object sender, EventArgs e)
    {

    }

}

有没有人知道如何在textBox6方法中访问f或n?

1 个答案:

答案 0 :(得分:1)

您无法在方法/函数中声明Public / Private个变量。相反,正确的位置是将公共变量置于类级别。所以,你能做的是:

public partial class Form1 : Form
{
 public string Mystring;
}

从/到任何地方使用此变量。

但是如果你仍然对此不满意并希望将变量保留在方法/函数中,则可以执行以下操作之一:

如果方法/功能不是任何控制事件

如果你的方法不是eventhandler(或事件监听器)而是一个简单的方法,你可以在方法级别轻松创建参数:

  public Mymethod(string MyString)
  {
  }

如果方法确实是一个事件

你知道,总有这样或那样的方式。即使你有一个事件监听器,也不是很难实现你想要的。创建一个方法,添加所需的参数并从事件内部调用它:

 public void Myvars(string abc, int def)
 {
 ///do additional work if require
 }

 private void Btn1_Click()
 {
  Myvars("text", 1234);
 }

希望这会对你有所帮助。