简而言之:
表单A和B需要在项目设置中使用布尔值:“booly”。
在表单A中按下按钮时,变量“booly”设置为true。
然后表单B将显示,当它关闭时,它应该将布尔值设置为false,但是我无法完成这项工作。对于表单A,它工作正常,但表单B不会更改变量。这是表格B的代码:
bool booly = Properties.Settings.Default.booly;
private void formB_FormClosing(object sender, FormClosingEventArgs e)
{
booly = false;
}
答案 0 :(得分:2)
它无效的原因是因为您将Form2.booly
实例设置为false而不是Properties.Settings...
。值得一提的是,如果您来自C ++,booly
是 NOT 指向Properties.Settings.Default.booly
的指针,那么您应该将方法更改为此。
private void formB_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.booly = false;
}
一个简单的例子/测试方法是:
static void Main(string[] args)
{
bool valueA = true;
bool valueB = valueA;
// Both will print TRUE
Console.WriteLine("ValueA is: " + valueA.ToString());
Console.WriteLine("ValueB is: " + valueB.ToString());
// Change valueA but leave valueB unchanged
valueA = false;
// valueA now FALSE while valueB is still TRUE
Console.WriteLine("ValueA is: " + valueA.ToString());
Console.WriteLine("ValueB is: " + valueB.ToString());
Console.ReadKey();
}
所以代码片段的最终输出是:
Value A is: True
Value B is: True
Value A is: False
Value B is: True