使用同一布尔值的两个窗体
本文关键字:两个 窗体 布尔值 | 更新日期: 2023-09-27 18:20:51
简而言之:
表单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;
}
它不起作用的原因是您将Form2.booly
实例设置为false,而不是Properties.Settings...
。值得一提的是,如果您来自C++,那么booly
是指向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