c# - 如何从表格 2 到表格 1 获得布尔值?
问题描述
如何从 Form2 中的 class2 到 form1 中的 class1 获取布尔值?
我试过调用变量,但这并不成功。或者我做错了什么
类Form3UpgradesGunSounds:
// If you double click, it will select the sounds
private void Form3UpgradesGunSounds_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.X > 36 && e.X < 336 && e.Y > 35 && e.Y < 93) // FireTankCannon100
{
_tankCannon100 = true;
}
else if (e.X > 336 && e.X < 670 && e.Y > 35 && e.Y < 93) // FireTankCannon120
{
_tankCannon120 = true;
}
this.Close();
}
public bool GetTankCannon100()
{
return _tankCannon100;
}
public bool GetTankCannon120()
{
return _tankCannon120;
}
类Form1Game:
public void MoleShooter_MouseClick(object sender, MouseEventArgs e)
{
// ...
Form3UpgradesGunSounds fr3UpgradesSounds = new Form3UpgradesGunSounds();
bool _f1tankCannon100 = fr3UpgradesSounds.GetTankCannon100();
bool _f1tankCannon120 = fr3UpgradesSounds.GetTankCannon120();
if (_f1tankCannon100 == false)
{
F1TankCannon100();
}
else if (_f1tankCannon120 == true)
{
F1TankCannon120();
}
// ...
}
public void F1TankCannon100() { /*. Do something .*/ }
public void F1TankCannon120() { /*. Do something .*/ }
我的问题是 如何Form3UpgradesGunSounds
从表单中创建和访问属性Form1Game
解决方案
Form2
1-像这样创建一个新属性
public partial class Form2: Form
{
public static bool BolleanProperty { get; set; }
// ...
}
2-在静态构造函数中设置属性BolleanProperty = true
public partial class Form2: Form
{
public static bool BolleanProperty { get; set; }
static Form2()
{
BolleanProperty = true;
}
public Form2()
{
InitializeComponent();
}
}
3-现在Form1
,您可以访问该属性Form2
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = Form2.BolleanProperty.ToString();
}
更新了我对新贡献者 Luuk Scherjon的回答
要在您的情况下执行此操作,您可以按照以下步骤操作
在 中创建两个公共属性
Form3UpgradesGunSounds
。public bool TankCannon100 { get; set; } public bool TankCannon120 { get; set; }
在
Form3UpgradesGunSounds_MouseDoubleClick
事件用属性替换
_tankCannon100
&_tankCannon120
已创建if (...) // FireTankCannon100 TankCannon100 = true; else if (...) // FireTankCannon120 TankCannon120 = true;
现在在
Form1Game
>MoleShooter_MouseClick
您可以访问在Form3UpgradesGunSounds
public void MoleShooter_MouseClick(object sender, MouseEventArgs e) { // ... Form3UpgradesGunSounds fr3UpgradesSounds = new Form3UpgradesGunSounds(); if (!fr3UpgradesSounds.TankCannon100) { // do something } if (fr3UpgradesSounds.TankCannon120) { // do something } // ... }
推荐阅读
- python - 在 Python 中建立 HTTPS 连接时出现 HTTP 400 错误请求?
- symfony4 - 如何在 Doctrine 查询生成器中使用函数
- python - 将一个巨大的列表拆分为更小的列表并将项目附加到这些子列表中
- java - 如果用户输入了地址,则仅显示地址格式信息
- html - Carousel Bootstrap 不能用作幻灯片
- java - 将 Java Spark Sql 连接到 Mysql
- amazon-web-services - 你能指导我有关专用 AWS 的信息吗?
- python - 让 dev_appserver.py 监听变化
- python-3.x - python中列表理解输出的问题
- ubuntu - udev 规则问题 - 在 ubuntu 20.04 上安装 STMicroelectronics STlink 工具