使用相同布尔值的两种形式

时间:2013-07-02 11:23:12

标签: c# boolean settings

简而言之:

表单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;
}

1 个答案:

答案 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