对于控制界面上各个控件状态的变化,大家是在逻辑代码中设置,还是采用其它办法?比如说有一个小录音软件,上面有BtnSave, BtnPause, BtnStop三个按钮, 要求:
1.初始状态只有BtnSave可用,另两按钮是灰色
2.按下BtnSave后开始录音,BtnSave变灰,BtnPause, BtnStop可用
3.按下BtnPause后BtnSave变灰, 录音暂停, BtnPause, BtnPause可用, BtnPause上caption变"继续".
4.再次按下BtnPause后BtnSave变灰, 录音继续, BtnPause, BtnPause可用, BtnPause上caption变"暂停".
5.按下BtnStop后退到状态1.按下BtnSave和BtnStop后都不是可以马上接通, 需要等低层硬件几秒钟,而且有可能录音开始和停止失败.
同时也不希望在按下按钮后界面无响应(因为有时低层反映延迟比较长), 若录音按钮无变化,用户可能"烦躁"地多次点击.目前的办法是设置一个录音状态对象, 界面的动作直接传到低层去执行, 由定时器每200ms抽取一下低层硬件状态赋给录音状态对象, 然后按其状态来实时更新和画界面各按钮状态. 有更好的办法吗?