2

简而言之:

表格 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;
}
4

1 回答 1

2

它不起作用的原因是因为您将Form2.booly 实例设置为 false 而不是Properties.Settings.... 值得一提的booly是,如果您来自 C++,这不是一个指针,因此您应该将方法更改为此。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
于 2013-07-02T11:27:32.930 回答