首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel实战技巧65: 制作漂亮用户窗体按钮——当鼠标移动到按钮高亮显示

下面,我们来实现当鼠标移动到用户窗体按钮,会使用颜色高亮显示,让用户窗体更生动,如下图1所示。 ? 其实,你在图1中看到按钮并不是用户窗体内置传统命令按钮,而是使用图像控件来制作。...复制一个刚才绘制图像控件,如下图6所示。 ? 这个图像将代码鼠标不在按钮状态。...,绿色按钮显示,白色按钮隐藏。...,绿色按钮显示,白色按钮隐藏。...但是,如果用户将鼠标放置在除这两个按钮之外其他地方,我们不希望这两个按钮显示绿色,因此要使用用户窗体MouseMove事件: Private SubUserForm_MouseMove(ByVal

7.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Angular 显示英雄列表

在本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄详细信息。 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示。...它会为列表中每项数据复写它宿主元素。 在这个例子中  就是 *ngFor 宿主元素 heroes 就是来自 HeroesComponent 类列表。...固然,你可以把更多样式加入到 styles.css,并且放任它随着你添加更多组件而不断膨胀。 但还有更好方式。...英雄们显示在列表中,并且所点英雄详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白细节 该组件应该只有当 selectedHero 存在显示所选英雄详情。...点击一个英雄,它详情就出现了。 这个应用看起来又再次工作正常显示了。 英雄显示在列表中,当你单击英雄名字时候,有关你单击英雄详细信息就显示在页面的底部了。

4.4K70

AngularDart4.0 英雄之旅-教程-04明细 顶

显示数据Showing a list property with *ngFor部分阅读更多关于ngFor和模板输入变量和模板语法页ngFor部分 在节点内添加内容hero模板变量来显示英雄属性...这是你在ngFor指令中定义同一个英雄变量。 在用户输入页面和模板语法页面的事件绑定部分了解有关事件绑定更多信息。...在结构指令页面和模板语法页面的内置指令部分阅读有关ngIf和ngFor更多信息。 格式化选中hero 当选择英雄细节显示在列表下方,很难在列表中识别选定英雄。...在上面添加样式元数据中,有一个名为selected自定义CSS类。 为了让选定英雄更清晰可见,当用户点击英雄名字,你将把这个选定class应用到。...当表达式为false,Angular删除选定类。 ===运算符测试给定对象是否相同。 在模板语法指南中阅读有关[class]绑定更多信息。

3K30

Angular 显示英雄列表

在本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄详细信息。 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示。...它会为列表中每项数据复写它宿主元素。 在这个例子中  就是 *ngFor 宿主元素 heroes 就是来自 HeroesComponent 类列表。...固然,你可以把更多样式加入到 styles.css,并且放任它随着你添加更多组件而不断膨胀。 但还有更好方式。...英雄们显示在列表中,并且所点英雄详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白细节 该组件应该只有当 selectedHero 存在显示所选英雄详情。...点击一个英雄,它详情就出现了。 这个应用看起来又再次工作正常显示了。 英雄显示在列表中,当你单击英雄名字时候,有关你单击英雄详细信息就显示在页面的底部了。

4K30

AngularDart4.0 指南- 显示数据

当这些属性改变,Angular会更新显示。 更准确地说,重新显示是在与视图相关某种异步事件之后发生,例如按键,计时器完成或对HTTP请求响应。...在任一种样式中,模板数据绑定都具有对组件属性相同访问权限。 用* ngFor显示一个列表属性 要显示英雄列表,首先向组件添加英雄名字列表,并将myHero重新定义为列表中第一个名字。...这是语法重要组成部分。 有关更多信息,请参阅模板语法页面。 注意ngFor指令中hero变量; 它是模板输入变量一个例子。...如果有三个或更少项目,Angular会忽略该段落,所以不会显示任何消息。 有关更多信息,请参阅模板语法页面的模板表达式部分。 Angular没有显示和隐藏消息。...Dart类,用于为您组件生成模型数据显示该模型属性。 ngIf有条件地显示基于布尔表达式HTML块。

5.3K10

AngularDart4.0 指南- 表单 顶

在开发表单,创建一个数据录入体验非常重要,该体验可以通过工作流高效地引导用户。...您将在表单中添加一个select,并使用ngFor(先前在“显示数据”页面中看到一种技术)将选项绑定到powers列表。...这是双向数据绑定。 有关更多信息,请参见模板语法页面上与NgModel双向绑定。...有些开发人员希望仅在用户进行无效更改时显示消息。 当控件是“原始隐藏消息实现了这个目标。 当您向表单添加一个“清除”按钮,您会看到此选项重要性。...提交标志变为真,表格消失。 您将看到表格中显示英雄模型值(只读)。 ? 该视图包含一个编辑按钮,其单击事件绑定将清除提交标志。 当您单击编辑按钮,该表消失,并且可编辑表单重新出现。

17.4K30

AngularDart4.0 英雄之旅-教程-07路由 顶

该应用程序仍然运行并显示英雄。 添加路由 应该在用户点击按钮显示英雄而不是自动显示。 换句话说,用户应该能够导航到英雄列表。...component(组件):此路由导航到(HeroesComponent)将被激活组件。 在路由和导航页面阅读更多关于定义路由信息。...要在其他地方导航,用户可以单击AppComponent中两个链接之一,或单击浏览器后退按钮。...当用户从列表中选择一个英雄,他们不会进入详细页面。 相反,他们会在此页面上看到一个迷你细节,并且必须单击一个按钮才能导航到完整详细信息页面。...查看详细信息按钮不起作用。 更新HeroesComponent类 响应按钮单击,HeroesComponent导航到HeroesDetailComponent。

17.5K30

AngularDart4.0 英雄之旅-教程-08HTTP 顶

该代码还包含传播异常给调用者错误,以便调用者可以向用户显示适当错误消息。...现在是时候添加创建和删除英雄能力了。 更新英雄细节 尝试在英雄详情视图中编辑英雄名字。 当你输入时,英雄名字在视图标题中被更新。 但是,如果您单击后退按钮,更改将丢失。 更新之前没有丢失。...当应用程序使用模拟英雄列表,更新直接应用于单个应用程序范围共享列表中英雄对象。 现在,您正在从服务器获取数据,如果您希望更改持续存在,则必须将其写回服务器。...刷新浏览器,更改英雄名称,保存更改,然后单击浏览器“后退”按钮。 现在应该继续进行更改。 添加加入英雄能力 要添加英雄,应用程序需要英雄名字。 您可以使用与添加按钮配对输入元素。...()方法之外,删除按钮单击处理程序代码会停止单击事件传播 - 您不希望触发 click处理程序,因为这样做会选择用户将要删除英雄 。

11K30

AngularDart 4.0 高级-生命周期钩子 顶

peek-a-boo存在以显示Angular如何按预期顺序调用钩子。 此快照反映用户单击“创建...”按钮然后单击“销毁...”按钮后日志状态。 ?...如果用户点击Update Hero按钮,日志会显示另一个OnChanges和两个更多DoCheck,AfterContentChecked和AfterViewChecked三元组。...ngOnInit是组件获取其初始数据好地方。 教程和HTTP章节显示了如何。 还要记住,指令数据绑定输入属性在构建之后才会设置。 如果您需要根据这些属性初始化指令,那么这是一个问题。...日志条目显示为power属性更改字符串值。 但ngOnChanges并没有捕捉到hero.name变化,这一开始令人惊讶。 当输入属性值改变,Angular只会调用钩子。...大部分初始检查都是由Angular在页面其他地方首次渲染(与数据无关)而触发。 仅仅通过鼠标移动到另一个输入框就会触发一个呼叫。 相对较少调用显示相关数据实际变化。

6.1K10

React 分析器简介

正常使用你应用, 当你完成性能分析,点击 "Stop" 按钮。 [点击"stop",当你完成性能分析] 假设你应用程序在分析时至少渲染一次,开发者工具将提供几种方法查看性能数据。...条形颜色代表组件(及其子组件)在所选提交中渲染耗时。 黄色组件耗时更多,蓝色组件耗时更少,灰色组件则代表这个提交期间不渲染。 例如,上面显示提交总共需要 18.4ms 进行渲染。...你可以通过单击组件放大或缩小火焰图: [单击组件放大或缩小火焰图] 单击组件将选中它并同时在右侧面板中其详细信息,其中包括其提交 props 和 state。...它还显示了每次渲染,它都是提交中最"昂贵”组件(意味着它耗时最长)。 要查看此图表,请双击组件 或 选择组件,然后单击右侧详细信息窗格中蓝色条形图图标。...你可以通过单击右侧详细信息窗格中 "x" 按钮返回上一个图表。

2.9K40

EasyCVR设备管理列表页面搜索,分页数据显示问题修复

有用户反馈,在EasyCVR设备管理列表页面,搜索设备,出现分页数据显示情况。技术人员立刻对此情况进行了排查。在通过接口返回数据进行排查发现,后端接口返回总数出现错误,因此导致出现上述问题。...可通过以下办法解决:当前端传入搜索条件,后端查询出对应设备数量,然后返回给前端。...deviceService.GetDBDeviceByRoleID err :%v", err.Error())return}devicescount = devicescount1}修改后再次查询前端,此时设备数量及分页显示已经恢复正常...EasyCVR部署简单、兼容性高,平台采用分布式部署,可对外提供统一API接口,实现连接设备、连接数据、连接应用,便于第三方平台快速集成。...平台应用场景广泛,在线下有大量落地应用,包括智慧工厂、智慧校园、智慧工地、智慧仓储、智慧水利、智慧消防等等,感兴趣用户可以前往演示平台进行体验或部署测试。

84640

AngularDart 4.0 高级-结构指令 顶

NgFor指令具有比本指南中显示NgIf更多功能,包括必需和可选。 至少NgFor需要一个循环变量(let hero)和一个列表(heroes)。...当你编写自己结构指令,可以使用这些微观语法机制。 研究NgIf和NgFor源代码是了解更多信息好方法。 模板输入变量 模板输入变量是一个变量,其值可以在模板单个实例中引用。...当两个指令声明相同宿主元素,哪一个优先? NgIf或NgFor应该先走哪一个? NgIf能否取消NgFor效果?...当NgSwitchCase值与switch值匹配,会显示宿主元素。当没有同级NgSwitchCase匹配switch,NgSwitchDefault显示宿主元素。...UnlessDirective在条件为false显示内容。

16K20

【新!超详细】Figma组件属性完全指南

当您想在另一个组件中交换组件使用它。例如,当您有一个按钮,您可以通过属性面板更改按钮内部图标。 目前,无法交换变体。...选择组件,您可以直接从属性面板编辑文本。 何时使用文本属性? 设置组件变体,无需单击文本图层即可更改文本。...指定图层名称,然后在值输入字段中指定一个值,例如:“按钮” 布尔属性 选择一个图层,然后在图层部分,单击图标以添加布尔属性。给它一个名称,例如“显示图标”,并将其设置为 true 或 false。...单击详细信息图标,然后在窗口中更改名称。 更改列表中变体顺序 当您单击一个实例并想要更改变体,您希望它按字母顺序排列,或者最流行变体在顶部。 在变体行上,单击详细信息图标。...如果你这样工作,列表中动作就会更少,而且会更有条理。

10.9K22
领券