如何在 WinForms 应用中更改范围以将变量从方法传送到对象发送方



我正在尝试将数组中的变量带到按钮单击操作中。我找不到设置范围以允许它工作的方法。

我尝试将修饰符更改为公共、私有、静态、空、字符串、字符串[] 等。

我还将 WinForms 应用程序中的所有对象设置为"公共">

public partial class AutoPay : Form
{
    public AutoPay()
    {
        InitializeComponent();
    }
    public void HeaderInformation(string dateAndTime, string fileNumber)
    {
        dateAndTime = DateTime.Now.ToString();
        fileNumber = txtFileNumber.Text;
   string[] headerArray = new string[2];
        headerArray[0] = dateAndTime;
        headerArray[1] = fileNumber;
    }
    public void BtnSave_Click(object sender, EventArgs e)
    {
        HeaderInformation(headerArray[0], headerArray[1]);
    }
}

BtnSave_Click操作下的 headerArray[0] 下方有红线,表示它超出了范围。

尝试将 headerArray 声明为类的属性

如前所述...您需要在方法外部声明标头数组...也。。。看起来您正在尝试在数组具有信息之前向数组添加信息...试试这种方式(还有很多其他方法可以做到这一点;)(:

public partial class AutoPay : Form
{
  private string[] headerArray;   // <-- declare it here...
  public AutoPay()
  {
    InitializeComponent();
    headerArray = new string[2];  // <-- sometimes the normal way to initialize...
  }
  public void HeaderInformation(string dateAndTime, string fileNumber)
  {
    // reinitialize headerArray for safety....
    headerArray = new string[2];
    headerArray[0] = dateAndTime;
    headerArray[1] = fileNumber;
  }
  public void BtnSave_Click(object sender, EventArgs e)
  {
    HeaderInformation(DateTime.Now.ToString(), txtFileNumber.Text);
  }
}

public void HeaderInformation()
{
    // reinitialize headerArray for safety....
    headerArray = new string[2];
    headerArray[0] = DateTime.Now.ToString();
    headerArray[1] = txtFileNumber.Text;
}
public void BtnSave_Click(object sender, EventArgs e)
{
    HeaderInformation();
}

相关内容

最新更新