文章开始之前,先看下一个简短的录频效果。

实现原理:

他是鼠标悬停在控件上方后,弹出另一个窗体,该窗体可以展示不同的自定义组件,达到显示不同的各种需求的目的。

一、先制作容器窗体

using System;
using System.Drawing;
using System.Windows.Forms;namespace TipsWindow
{public class ExplainForm : FormBase{public ExplainForm(Control content);public Point Offset { get; set; }public Control Content { get; }public void SetAutoCloseTimer(int interval = 5000);public void SetFormBorderStyle(FormBorderStyle style);public void SetIcon(bool isShowIcon);public void SetTitle(string title);protected override void Dispose(bool disposing);protected override void OnPaint(PaintEventArgs e);protected override void OnShown(EventArgs e);}
}

Offset:属性偏移,指偏离鼠标位置。一般如果挨着鼠标来弹出提示信息的话,不好看,所以,会有一个偏移。

Content:既然是容器,那么就要允许别人放东西以供展示,所以Content提供了这样的角色,他的内容展示到容器窗体中。请注意看,Content是Control控件,意味着,你可以自行定义你任何想要的自定义组件,所以,开放自由,是毫无疑问的。所以,你想要什么样子的提示,都可以,如下面2张图所示:

SetAutoCloseTimer:设定定时器,该定时器的作用为自动关闭这个提示信息窗体。在一些特定需求下,此方法可能对您很有用。

SetFormBorderStyle:设置弹出信息的窗体边框样式。

SetIcon:设置弹出窗体的图标样式,即左上角的图。

SetTitle:设置弹出窗体的标题。

二、有了容器窗体后,制作自己的用户组件

用户组件,即UserControl。如下图,我做了一个简单的示例组件:

三、将容器窗体加载到主窗体中

主窗体就是你希望使用弹出信息功能的窗体。即下图界面:

源码下载:https://download.csdn.net/download/mazhiyuan1981/12996475

C#窗体Winform,鼠标悬停在控件上,提示框,显示信息。相关推荐

  1. c#在WinForm中重写ProgressBar控件(带%的显示)

    c#在WinForm中重写ProgressBar控件(带%的显示) 2009-05-14 13:13 #region 定义textProgressBar控件的类 namespace csPublish ...

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

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

  3. C#中,当鼠标移动到控件上,动态显示提示内容 - 用代码操作ToolTip

    [背景] 写了个C#的小程序,其中在Settings窗体中有些配置参数,希望在鼠标移动到对应的配置选项上,动态显示相关的说明解释内容. [解决过程] 1.原先就已经知道,有些控件,是带ToolTipT ...

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

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

  5. 判断鼠标不在控件上_VB常用控件属性讲解单选按钮、复选框总结

    1 单选按钮.复选框做为VB编程中的选择性控件,在实际程序中有着广泛的应用,所以熟练掌握其特殊属性的用法就很重要了! 单选按钮.复选框的实际应用图 复选框(CheckBox)控件 属性 说明 Name ...

  6. 鼠标在某个控件上按下,然后离开后弹起,如何捕获这个鼠标弹起事件

    默认情况下当鼠标移出控件外部后控件将获取不到WM_LBUTTONUP消息. 以下通过SetCapture函数实现获取. SetCapture 函数功能: 该函数在属于当前线程的指定窗口里设置鼠标捕获. ...

  7. 鼠标悬停(点击)出现文本提示框

    下面的是鼠标点击出现文字,如果想要鼠标移动上去出现,移出消失的话,UI可以使用OnPointerEnter跟OnPointerExit方法,命名空间是UnityEngine.EventSystems, ...

  8. 基于C#的GIS开发20210426之类库同名类、制作winform控件、建立控件之间的关联、自己制作控件、自己控件引入项目、显示磁盘文件夹、磁盘文件与picturebox建立关系、图像拉伸

    C#知识点与控件的制作 一.C#中多个类库中有同名类,区分问题 二.制作最简单的winform控件 1.拖动加载 事件代理 筛选器 2.显示属性.事件,及其修改 常见控件属性介绍 窗体常用的方法 常见 ...

  9. winform 位置不空 隐藏控件_C#winform窗体点击TextBox控件,显示DateTimePicker日历控件,并获得日期值(可实现对日期赋空值)...

    由于DateTimePicker不能赋空值,用此方法可以置默认日期值为空 步骤如下: 新建项目,个人用到vs2010 文件->新建->项目,选择windows窗体应用程序 2.拖控件,将T ...

最新文章

  1. 用 mongodb + elasticsearch 实现中文检索
  2. C++中相对路径和绝对路径
  3. Asp.net MVC突然变慢,缓存消失的一种原因
  4. XCode中安装cocoapods步骤
  5. MySQL数据检索+查询+全文本搜索
  6. Yarn在MapReduce中的工作机制
  7. 高效开发--crm开发有悟
  8. java vector 输出_5.7(java学习笔记)Vector、Enumeration
  9. iOS学习笔记11 多线程入门
  10. 关于CodeReview
  11. 安全小测试:介绍一个简单web安全知识测试的网站
  12. R语言︱H2o深度学习的一些R语言实践——H2o包
  13. 测试管理中的一个问题—功能点覆盖还是功能测试点覆盖
  14. 看到它,让我想起了帅出天际的精灵王子……
  15. JDK 1.7 基本概念和目录结构
  16. JetBrains 学生认证教程(Pycharm,IDEA… 等学生认证教程)
  17. 【阿尼亚不会CTF】第六届”蓝帽杯“全国大学生网络安全技能大赛—线上初赛部分writeup
  18. 拼多多api接口应用示例
  19. 常用的BOM属性 - Kaiqisan
  20. 【题解】力扣78.子集

热门文章

  1. 【金猿产品展】元年云——成长型企业数字化转型的领航者
  2. 前端 js 获取当前机子的ip
  3. 如何在虚拟计算机添加3块硬盘,win7旗舰版下如何建立虚拟硬盘
  4. 【视频】技不压身,多学点没有坏处~~~
  5. 小学生四则运算练习的编程 软件工程
  6. 倒计时小程序桌面显示_【新版本更新!】小程序可以添加到电脑桌面啦,随点随学,备考更轻松!...
  7. mysql的json解析函数JSON_EXTRACT
  8. All-New Kindle App: 亚马逊的产品之道
  9. Linux文件的压缩和解压命令tar
  10. 单片机红外接收c语言代码,基于51单片机+0038红外发射与接收C程序