`

维护UI状态的最懒惰方法

UI 
阅读更多
昨天在检查一个兄弟的程序,程序需要一个功能,就是在任务栏上显示Listview的选中数目,当然这个ListView是支持多选的了,在测试的过程中发现只有鼠标在Listview上MouseMove的时候才能显示出来选中的数目,后来查看了一下Code,发现原来是vb6的Listview不提供选中事件,所以就在MouseMove里边写代码了。

这个办法当然好,但是我想并不是好办法,因为将来可能在工具栏或右键菜单中要增加删除某个item的功能,这样,计算选中数目就麻烦多了。

其实这是一个普遍问题,就是维护UI界面的控件的状态,以前也是觉得麻烦就乱写一气,其实是有一个偷懒的办法的,可以保留一个Timer作为控件状态的监督者,通过这个Timer作为总调度,也可以让状态的维护成为一个定时、单一的过程,这样写起来也可以专注一点,这个办法当然并不通用,但是对付一些简单的应用我想是不成问题的。

BTW:我在北京的妹妹生了个姑娘,庆祝一下。
分享到:
评论

相关推荐

    React-reduxui简化reactredux的UI状态管理

    `redux-ui`旨在简化React与Redux之间的交互,特别是针对UI状态的管理,减轻开发负担,提高开发效率。 `redux-ui`的核心理念是将UI组件的状态提升到store层,但只关注于那些需要在多个组件之间共享或者需要跨组件...

    Android13 删除SystemUI状态栏中的电池图标&删除长按设置图标中电池快捷图标

    Android13 删除SystemUI状态栏中的电池图标&删除长按设置图标中电池快捷图标.patch

    SystemUI状态栏和导航栏的讲解

    本文将深入讲解如何理解和定制SystemUI中的状态栏和导航栏。 一、状态栏布局 状态栏是手机屏幕顶部的一条区域,展示诸如时间、通知图标、系统图标(如信号强度和电池状态)等信息。在Android中,状态栏的布局主要...

    flow-Android UI 状态管理和导航框架 (0积分下载)

    在构建复杂的移动应用时,管理 UI 状态和导航逻辑可能会变得非常复杂。Flow 是 Square 开源的一个框架,它旨在简化这一过程,让开发者能够更容易地命名、导航和管理 UI 状态。 Flow 简介 Flow 是一个由 Square 开发...

    C#WinForm跨线程更新UI的四种方法

    以上四种方法都可以有效地解决WinForms应用中跨线程更新UI的问题,选择哪种方法主要取决于具体需求,如是否需要等待后台操作完成、是否希望简化编程模型等。在实际开发中,通常推荐使用BackgroundWorker,因为它提供...

    android4.0 SystemUI 无状态栏版

    该工具包含 android4.0 SystemUI正常版.apk SystemUI无状态栏版.apk 将其改名为SystemUI.apk 覆盖android4.0系统 /system/app/SystemUI.apk 然后重启即可隐藏状态栏,要恢复正常只需将正常版覆盖并重启即可

    systemui安卓状态栏

    systemui,安卓的系统状态栏。联想a65,a60版

    LabVIEW-UI-.zip_LABVIEW界面_labview ui界面_labview ui_labview 黑色ui_

    11. **文档和注释**:为了方便他人理解和维护,良好的UI设计应配以清晰的注释和文档,解释每个控件的功能和关联的程序逻辑。 通过深入学习和实践这个"LabVIEW UI 演示程序",你将能够掌握LabVIEW界面设计的基本技巧...

    UIState:在Flutter小部件中表示UI状态的最简洁方法

    在Flutter小部件中表示UI状态的最简洁方法。 载入中 成功 失败 用法 获取数据的实时/流表示形式: UIState < String> state = Provider . of < ViewModel> (context).state; 受Kotlin的嵌入式开关的启发: when...

    jquery-ui包含功能演示及代码

     jQuery UI实际上是jQuery插件,专指由jQuery官方维护的UI方向的插件 jQuery UI 与 jquery 的主要区别是: (1) jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 (2) jQuery UI则是在jQuery的...

    用UIAutomation封装了很多实用的方法

    根据UIAutomation封装了很多自定义方法 现在只需要实例化之后 直接调用方法即可完成。比如单击某个按钮,现在只需要直接调用ClickElement,非常实用。 ClickElement 单击指定的自动化元素 ...

    非常漂亮后台UI 纯静态UI界面

    作者提到“因为简单所以编程快乐”,意味着该UI设计遵循了简洁原则,使得开发者在实现和维护时也能享受到轻松的工作氛围。 结合“后台UI界面”的标签,我们可以推断出这个UI设计是专为网站或应用的后台管理系统设计...

    Systemui10 的启动及UI布局的加载

    总之,SystemUI 的启动是从 SystemServer 的 `startOtherServices()` 方法开始,通过启动 `SystemUIService` 实现的。UI布局的加载涉及窗口管理、视图创建和布局解析等多个环节。对于初学者,掌握这些基础知识是进入...

    WeifenLuo.WinFormsUI.Docking.dll 源码+示例 支持framwork4 最新版

    WeifenLuo.WinFormsUI.Docking.dll的源码+示例!支持framwork4 最新版。 没错!...DockPanel的LoadFromXml方法,能读取之前保存的子窗体信息,再根据使用者提供的相应处理方法,把子窗体恢复到之前状态

    Angularjs和ui-router的一个栗子

    状态可以通过`.state()`方法定义,其中包含`name`、`url`、`templateUrl`和`controller`等属性。 ```javascript app.config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/home...

    unity400+科技元素 科幻UI 机甲机械类UI

    例如,你可以用C#脚本来改变按钮的状态、响应用户输入或者与游戏逻辑进行交互。Unity的Animator组件和Animation Controller可以配合使用,为UI元素添加平滑的过渡效果和动画。 为了提升UI的性能,需要考虑优化策略...

    uipath使用手册

    UiPath支持开发者使用流程图、序列图和状态机三种图表设计工作流。流程图采用二维布局,适合展示决策点和业务逻辑;序列图则提供了线性、简单的活动顺序;状态机适用于表示包含条件分支的复杂逻辑。在设计流程时,应...

    WebUI自动化测试框架Dagger.zip

    WebUI自动化从业界看,难推进,易烂尾,原因基本在于:维护成本高、运行速度慢、稳定性差 Dagger专注于WebUI自动化,从技术上克服了速度与稳定问题(见下文)。只封装够用的浏览器操作为API,并充分简化/强化这些API...

Global site tag (gtag.js) - Google Analytics