【发布时间】:2015-08-31 08:07:28
【问题描述】:
在 Form1 中,我有一个用 char 数组值 (*) 填充的文本框。然后在 Form2 中,我更改了一个数组值(将 * 更改为某个字母),并且我必须更新 Form1 文本框。但是当我按下按钮时 - 没有任何反应。 Form2代码sn-p:
private void button2_Click(object sender, EventArgs e)
{
....
....
letter = (char)Form1.number;
textbox1.Text = letter.ToString(); //shows me the letter I'm replacing '*' with
}
private void button3_Click(object sender, EventArgs e)
{
frm1 = new Form1();
Form1.charArray[Convert.ToInt32(frm1.numericUpDown2.Value)] = letter; //which array value I'm changing
frm1.textBox2.Text = String.Empty;
for (int i = 0; i < frm1.numericUpDown1.Value; i++)
{
frm1.textBox2.Text += Form1.charArray[i];
}
}
【问题讨论】:
-
您没有编辑对您可见的
Form1-instance。相反,您在此处创建一个新的并更改它(但永远不要显示它 - 这将导致两个Form1-windows 可见) -
所以我必须像 Form1.textBox2.Text += Form1.charArray[i] 一样编辑行?
-
如果您声明
textBox2static 并为其分配正确的值,这可能会起作用...阅读我的答案以获取更多选项:)