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

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

实现原理:

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

 

一、先制作容器窗体

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

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值