gpt4 book ai didi

c# - 更改另一个类中对象的属性?

转载 作者:行者123 更新时间:2023-12-02 15:33:17 27 4
gpt4 key购买 nike

我正在尝试从另一个类更改对象的属性,就像这样。

能力.cs(类)

        public static void hideAllButtons()
{
frmFight fight = new frmFight();
fight.btnAbility1.Visible = false;
fight.btnAbility2.Visible = false;
fight.btnAbility3.Visible = false;
fight.btnAbility4.Visible = false;
fight.btnAbility5.Visible = false;
fight.btnAbility6.Visible = false;
vars.buttonsVisible = false;
}

我正在尝试使用上一个类中的方法来更改以下表单中的对象的属性;

frmFight.cs(表单)

        private void btnAbility1_Click(object sender, EventArgs e)        {            abilities.hideAllButtons();            btnAbilities.Enabled = false;        }

我已经尝试了我所知道和理解的一切,并且在互联网上进行了很多查找。我尝试将对象设为静态、公共(public),在类中创建对象。但没有任何效果。通常我会收到 StackOverFlow 错误。

我对 OOP 也很陌生,但我不是白痴,所以不要认为对我的问题可能的解决方案或原因过于“轻率” - 如果你明白的话,那就是。

最佳答案

方法 hideAllButtons 是静态的,因此应该有一个 Form 参数。

 public static void hideAllButtons(frmFight fight)
{
fight.btnAbility1.Visible = false;
fight.btnAbility2.Visible = false;
fight.btnAbility3.Visible = false;
fight.btnAbility4.Visible = false;
fight.btnAbility5.Visible = false;
fight.btnAbility6.Visible = false;
//vars.buttonsVisible = false; // What about this???
}

并在点击处理程序中调用此方法,

hideAllButtons(this);

关于c# - 更改另一个类中对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499160/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com