C# 使用同一布尔值的两个窗体
简而言之: 表单A和B需要在项目设置中使用布尔值:“booly” 当按下表a中的按钮时,变量“booly”设置为true 然后表格B会出现,当它关闭时,它应该将布尔值设置为false,但是我很难让它工作。对于形式A,它工作得很好,但形式B并没有改变变量。以下是表格B的代码:C# 使用同一布尔值的两个窗体,c#,boolean,settings,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, FormClosingEventA
bool booly = Properties.Settings.Default.booly;
private void formB_FormClosing(object sender, FormClosingEventArgs e)
{
booly = false;
}
它不起作用的原因是您正在将
Form2.booly
实例设置为false,而不是属性。设置…
。值得一提的是,<代码> BooLy是<强> > < >强>指向“代码>属性”的设置。默认。BooLy >如果您来自C++,那么您应该将方法更改为此。
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
因此,代码片段的最终输出将是:
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
你的书是全球性的吗?当您尝试从表单B设置它时,它会抛出编译错误吗?你说它没有设定是什么意思?您正在使用Visual Studio吗?它是否告诉您它可以访问它?可能至少有100个原因。需要更多的细节kimosabi。