我正在尝试将数组中的变量带到按钮单击操作中。我找不到设置范围以允许它工作的方法。
我尝试将修饰符更改为公共、私有、静态、空、字符串、字符串[] 等。
我还将 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();
}