当前位置: 首页 > 编程语言 > C#

C#学习教程:.NET的reactnative扩展(Rx):完成所有事件后立即执行操作分享

时间:2023-04-10 20:38:34 C#

.NET的reactnative扩展(Rx):完成所有事件后立即执行操作Afteryouchecktheboxandpressakey(以任何顺序)在文本框中,在文本框中写入“完成”。我希望这段代码能够处理这个问题,但它只是在事件发生后立即完成写入Done。感谢您的帮助。varseq=Observable.FromEvent(this.checkBox,"CheckedChanged").Merge(Observable.FromEvent(this.textBox,"KeyPress"));seq.Subscribe((unused)=>this.resultTextBox.Text="Done");您可以像这样使用Observable.When(我为此示例添加了一个额外的CheckBox):varcheckChanged=Observable.FromEvent(this.checkBox,"CheckedChanged");varcheck1Changed=Observable.FromEvent(this.checkBox1,"CheckedChanged");varkeyPress=Observable.FromEvent(this.textBox,"KeyPress");varplan1=checkChanged.And(check1Changed).And(keyPress).Then((cc,cc1,kp)=>"完成。");varwhen=Observable.When(plan1);when.Subscribe((result)=>this.resultTextBox.Text=result);此外,如果您可以将其他计划结合在一起,例如,当一组事件触发时,或者当另一组事件触发时,事情就可以“完成”:varcheckChanged=Observable.FromEvent(this.checkBox,"CheckedChanged");varcheck1Changed=Observable.FromEvent(this.checkBox1,"CheckedChanged");varkeyPress=Observable.FromEvent(this.textBox,"KeyPress");varkeyPress1=Observable.FromEvent(this.textBox1,“按键”);varplan1=checkChanged.And(check1Changed).And(keyPress).Then((cc,cc1,kp)=>"完成。");varplan2=keyPress.And(keyPress1).Then((kp,kp1)=>"交替完成。");varjoin=Observable.When(plan1,plan2);如果您需要同时发生这两个事件-考虑使用Zip,如果任何合并源引发事件,合并将触发该事件。以上是C#学习教程:.NET的reactnativeextension(Rx):完成所有事件后立即执行操作。如果对大家有用,需要进一步了解C#学习教程,还望大家多加关注——本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: