为了账号安全,请及时绑定邮箱和手机立即绑定

如何使某些条件下的功能?

如何使某些条件下的功能?

C#
哔哔one 2021-05-14 17:17:46
C#的新手,在课堂上学习制作Windows窗体。在这里,我发现自己又陷入了困境。我有几个按钮,可以在特定条件下激活和停用。有没有一种方法来创建一个函数,以等待变量获取某些特定值以进行激活?例如,每当变为booltrue时,按钮将激活,而每当变为false时,它们将被禁用。我想要一些帮助,或者一些tuto可以学习(寻找了一些,但是没有找到我想要的)。
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我发布答案是因为其他答案使它看起来非常困难或不可能。

使用称为属性的ac#功能,这非常容易。属性是围绕领域的吸气和塞装方法的语法糖。


在您的情况下,您需要这样的东西:


private bool _isActive;


public bool IsActive

{

    get { return _isActive; }

    set 

    {

        _isActive = value;


        if (value) // if the value assigned is true

        {

            someButton.IsEnabled = true; // enable a button, for example

        }

    }

}

然后,您可以像这样使用它:


public void SomeButtonClick(object sender, EventArgs e)

{

    IsActive = true;

}


查看完整回答
反对 回复 2021-05-21
?
浮云间

TA贡献1829条经验 获得超4个赞

有很多解决方法。

更高级的一种是通过INotifyPropertyChanged接口使用ChangeNotification。这是在MVVM模式下的WPF / UWP中大量使用的。

但是,任何命令模式都可以使用。命令是抽象的。命令可以与热键组合,按钮,菜单项,手势(例如,翻转yoru移动电话)或所有这些都关联。

ICommand接口定义了“ canExecute”和“ Execute”功能。您需要定期轮询canExecute来更新按钮状态。但是常规可以降低到“每秒60次”或“仅当您明确要求进行更新时”。但是,由于它是为不推荐使用的Windows RT运行时定义的,因此很少使用。


查看完整回答
反对 回复 2021-05-21
?
开满天机

TA贡献1786条经验 获得超12个赞

在您的阶段,最适合您的解决方案如下所示:


if(FunctionWhichHasSomeCondition(SomeVariables)

{


if conditions met, activate or deactivate button.

}



..


public bool FunctionWhichHasSomeCondition(somevariable)

{

//Some conditions to be met. if met return true else return false.

}


查看完整回答
反对 回复 2021-05-21
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信