【发布时间】:2015-04-03 20:46:29
【问题描述】:
我已经尝试制作多格式程序有一段时间了,但我一次又一次地遇到同样的 2 个问题:
- Form2(或者你怎么称呼它)将已经设置变量视为null
- Form1 不接受,当 Form2 从 Form1 更改变量时
最近很烦人,所以我决定在这里问一下,我可能(或可能不会)做错了什么。这是我的快速复制 - 一个程序,您可以在其中使用另一种形式设置给定值:
值形式
public partial class valueForm : Form
{
public int value;
private changeValueForm change;
public valueForm()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
value = 2;
valueLabel.Text = value.ToString();
change = new changeValueForm();
}
private void change_Click(object sender, EventArgs e)
{
change.Show();
}
private void updatin_Tick(object sender, EventArgs e)
{
valueLabel.Text = change.thisValue.ToString();
}
}
更改值表单
public partial class changeValueForm : Form
{
private valueForm valueForm;
public int thisValue;
private string[] digits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
public changeValueForm()
{
InitializeComponent();
}
private void changeValueForm_Load(object sender, EventArgs e)
{
valueForm = new valueForm();
thisValue = valueForm.value;
valueBox.Text = thisValue.ToString();
}
private void closeButton_Click(object sender, EventArgs e)
{
if (digits.Contains(valueBox.Text.ToString()))
{
thisValue = Int32.Parse(valueBox.Text);
valueForm.value = thisValue;
}
}
}
那么,总结一下,这段代码有什么问题?
P.S. How to pass values between forms in c# windows application? 可能已经解决了 1. 的问题,但 valueForm 仍然不接受在 changeValueForm 中所做的更改 - 它只是保持原样。
【问题讨论】:
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
-
是的,我知道。我只是想不出更好的标签!
标签: c# forms communication