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

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


哔哔one
浏览 111回答 3
3回答

眼眸繁星

我发布答案是因为其他答案使它看起来非常困难或不可能。使用称为属性的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;}

浮云间

有很多解决方法。更高级的一种是通过INotifyPropertyChanged接口使用ChangeNotification。这是在MVVM模式下的WPF / UWP中大量使用的。但是,任何命令模式都可以使用。命令是抽象的。命令可以与热键组合,按钮,菜单项,手势(例如,翻转yoru移动电话)或所有这些都关联。ICommand接口定义了“ canExecute”和“ Execute”功能。您需要定期轮询canExecute来更新按钮状态。但是常规可以降低到“每秒60次”或“仅当您明确要求进行更新时”。但是,由于它是为不推荐使用的Windows RT运行时定义的,因此很少使用。

开满天机

在您的阶段,最适合您的解决方案如下所示: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.}
打开App,查看更多内容
随时随地看视频慕课网APP