WinForm实现鼠标悬停显示控件

在某些需频繁操作的环节中,为提高效率、减少劳动,可以在操作细节上下功夫,以带来更好的用户体验。

今天介绍的鼠标悬停显示功能就是一例,看似仅仅节省了一次点击,实则在繁复操作中能够为用户节约很多体力,提高舒适度。

本例中的基本需求是:

鼠标移入设置区域后,直接弹出详尽设置内容,并当进行了设置或鼠标移出弹出的设置区域后,自动关闭弹出的设置区域。

在这里,我设计了5个按钮,以及一个日历控件,该日历控件就作为我们的详细设置内容,将其Visible属性设为False以隐藏。

为5个按钮同时注册MouseEnter事件:

编写MouseEnter事件处理函数:

private void button1_MouseEnter(object sender, EventArgs e)
{monthCalendar1.Location = (sender as Control).Location;monthCalendar1.Show();monthCalendar1.BringToFront();monthCalendar1.Tag = sender;
}

代码中首先将日历控件的坐标设为与触发事件的按钮位置相同,然后显示日历控件,并将其发送到界面最前端以确保不被遮挡,最后将其Tag属性赋值为触发该事件的按钮,以方便后面事件中引用。

(PS:控件的Tag属性一直没弄明白正经是干嘛用的,所以一直都用来随便装东西以方便传递^^)

随后为日历控件分别增加如下两个事件处理函数:

private void monthCalendar1_MouseLeave(object sender, EventArgs e)
{monthCalendar1.Hide();
}private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{(monthCalendar1.Tag as Control).Text = e.Start.ToShortDateString();monthCalendar1.Hide();
}

功能很简单,就不累述了。

测试运行情况:

WinForm实现鼠标悬停显示控件相关推荐

  1. C#窗体Winform,鼠标悬停在控件上,提示框,显示信息。

    文章开始之前,先看下一个简短的录频效果. 实现原理: 他是鼠标悬停在控件上方后,弹出另一个窗体,该窗体可以展示不同的自定义组件,达到显示不同的各种需求的目的. 一.先制作容器窗体 using Syst ...

  2. .NET Winform 的七段数码显示控件

    自行开发的.NET Winform 下的七段数码显示控件.文章请看: http://www.codeproject.com/KB/miscctrl/SegmentedLEDControl.aspx 最 ...

  3. winform 鼠标离开子控件触发mouseleave事件处理

    Winform 控件鼠标离开事件 中 鼠标进入子控件也会触发mouseleave事件处理 最近在做一个关于语音与文本互相转化的小工具,利用的是百度的语音与文本转化接口.由于百度的语音转文本极速版接口中 ...

  4. Winform编程中的treeview控件

    Winform编程中的treeview控件 treeview基础操作 treeview添加.删除节点操作 treeview节点展开与折叠 treeview节点重命名 treeview获取节点集合并设置 ...

  5. Winform下的地图开发控件(GMap.NET)使用心得之二

    在上篇<Winform下的地图开发控件(GMap.NET)使用心得>中简单介绍了GMap.NET的控件基本情况,本篇开始介绍一下相关的代码操作. 其实目前GMap.NET提供的功能还不是很 ...

  6. 判断鼠标不在控件上_基础设施:一套基本控件

    类可以把需要重复使用的代码封装到一起多次使用, 但这样的代码仍不能被不同的程序使用. 把自己常用的代码编到一起,打包成库的话,就能制成一套自用工具库作为基础设施. 这里常用的部分,首先就是界面控件. ...

  7. WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

    WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色  在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件 ...

  8. 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用

    分享自伍华聪的-WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的 ...

  9. WinForm的延时加载控件概述

    这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C#项目 ...

最新文章

  1. socket可以写成单例嘛_精读《设计模式 - Singleton 单例模式》
  2. 赫夫曼编码c++中的实现
  3. mysql 命令查看帮助_Mysql使用命令分级查找帮助
  4. Java Map集合面试题汇总
  5. POJ 3370 Halloween treats——鸽巢原理+思维
  6. 深度解读:GAN模型及其在2016年度的进展
  7. 小程序wx.uploadFile 显示errMsg: uploadFile:fail Error: Parse Error
  8. h5制作的简易单机球球大作战
  9. 世界你好python_Python基础01之“你好世界”
  10. 风过,摔死一只ofo小黄猪
  11. jQuery 实现五星好评
  12. SAP QA11 检验决策并过帐 BAPI
  13. 「业务架构」EA874:业务架构层
  14. 调用百度短网址API接口进行短网址的转换(Java程序的实现)
  15. Ubuntu下制作windows U盘启动盘
  16. SQL同步主子表数据
  17. 会计基础复习资料(必背内容)
  18. 6 NESMA 菜单结构案例分析
  19. 常见咳嗽种类、治疗方法和忌食大全
  20. redis详解及哨兵模式搭建

热门文章

  1. 【Practical】CAXA2020
  2. ARM的IRQ模式和FIQ模式
  3. 实验八、Windows本地破解用户口令
  4. 科莱特靠不靠谱?学过SAP的人来分享下
  5. 公司再小,也不能在网上“裸奔”
  6. 重庆IT互联网企业有哪些?
  7. lesson5-week2
  8. 电脑直接安装centOS
  9. python(计时器)
  10. 一本喜欢的书《永不退场 蒂姆.邓肯传》