`

维护UI状态的最懒惰方法

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

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

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

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

相关推荐

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

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

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

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

    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...

    uipath 认证45个问题和答案

    - **知识点**:UIPath 提供了一个企业框架模板,旨在简化复杂工作流程的设计和维护。 - **描述**: - **Init 状态**:在这个状态中,通常进行初始化设置,如加载配置文件、建立连接等。 - **TransactionItem 变量*...

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

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

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

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

    MATLAB GUI视频教程:uitable的使用方法

    ### MATLAB GUI中uitable的使用方法详解 在MATLAB GUI开发中,`uitable`是一个非常重要的组件,它允许用户以表格的形式展示数据。本教程通过具体的示例和步骤,详细介绍了如何在MATLAB GUI中创建、配置和应用`ui...

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

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

    UI前沿技术-Silverlight_4中的流畅UI

    Silverlight 4中流畅UI的关键在于`ListBoxItem`类上新增加的三种视觉状态:`BeforeLoaded`、`AfterLoaded`和`BeforeUnloaded`。这三种状态通过`TemplateVisualState`属性进行定义,并归类于`LayoutStates`组。这些...

    Winform实现多线程异步更新UI(进度及状态信息)

    为了解决这个问题,开发者通常会采用多线程技术,将耗时任务放在后台线程执行,同时确保UI线程能及时更新进度和状态信息。本文将详细讲解如何在WinForm应用中实现多线程异步更新UI。 1. **线程基础知识**:在...

    Android 8.0 系统自带 SystemUI

    通过插件化设计,Android 8.0的SystemUI可以灵活地添加或移除功能,便于维护和升级。 tests目录包含了单元测试和集成测试代码,用于确保SystemUI的各个组件和功能正常工作。在Android 8.0中,开发团队可能增加了更...

    Android系统定制-SystemUI-下拉状态栏快捷设置新增选项(自动亮度&静音)_Patch

    Android系统定制-SystemUI-下拉状态栏快捷设置新增选项(自动亮度&静音)_Patch 文章链接:https://blog.csdn.net/qq_33750826/article/details/122829104

    Activity如何改变Fragment的UI

    因此,在改变Fragment的UI时,需要确保操作在正确的生命周期方法中执行,避免因Activity状态变化导致的异常。 总之,Activity改变Fragment的UI涉及到多种方法,包括但不限于直接通信、事件总线、数据绑定等。开发者...

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

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

Global site tag (gtag.js) - Google Analytics