【问题标题】:How do I access variables from other functions? [duplicate]如何从其他函数访问变量? [复制]
【发布时间】:2018-10-16 03:56:32
【问题描述】:

我正在尝试从其他函数访问变量。但是,当我尝试将函数中的变量公开或静态时,到处都会弹出错误(尤其是公开的)。这是我的代码。

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 吗?

【问题讨论】:

  • 你想在哪里访问哪个函数的哪个变量?函数不能有带有访问修饰符的变量,例如 public。

标签: c# winforms


【解决方案1】:

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

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

并在任何地方使用此变量。

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

如果方法/函数不是任何控制的事件

如果您的方法不是事件处理程序(或事件侦听器),而是一个简单的方法,您可以轻松地在方法级别创建参数:

  public Mymethod(string MyString)
  {
  }

如果方法确实是一个事件

你看,总有办法。即使你有一个事件监听器,实现你想要的也不难。创建一个方法,添加所需的参数并从事件内部调用它:

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

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

希望对你有所帮助。

【讨论】:

  • 我建议您在创建示例代码时遵循标准 C# 约定。特别是您的变量命名和大小写。
  • @mason ,罗杰那
猜你喜欢
  • 2018-03-07
  • 1970-01-01
  • 2013-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
相关资源
最近更新 更多