WinForm/C# 鼠标经过控件显示自定义提示信息

ningchao · 2020年04月17日 · 87 次阅读

当鼠标经过某控件需要显示自定义信息时,可通过微软提供的 Tooltip 控件类进行设置。具体方法如下(为方便区分不同控件,我们将提示工具控件称为提示工具控件,将要显示提示的控件成为母控件,实例中提示工具控件使用 Tooltip,母控件使用我们架构中的 WnBool):

ToolTip toolTip = new ToolTip();  //初始化控件    
toolTip.InitialDelay = 500; //工具提示窗口显示之前,指针必须在控件上保持静止的时间期限(单位毫秒,下同)
toolTip.AutoPopDelay = 50000; //设置鼠标焦点在母控件未离开时提示控件显示的时长
toolTip.AutomaticDelay = 500; //设置提示控件在鼠标经过后自动延迟显示时间,默认500
toolTip.ReshowDelay = 500; //获取或设置指针从一个控件移到另一控件时,必须经过多长时间才会出现后面的工具提示窗口
toolTip.SetToolTip(wnBoolIsCs.OriginControl, this.GetCurrLanguageContent("WnFormMain.IsCsToolTip")); //Content_CN:勾选默认城市,否则显示所有

效果图如下:

QQ图片20200416183849

这种方法不需要在母控件上注册事件,直接敲上上述代码即可完成所需功能。

toolTip.SetToolTip 方法参数:第一个参数为要提示工具控件要绑定的母控件,第二个参数为提示内容

注意事项:如果绑定的母控件是架构内控件,需要找到其原始控件(封装控件可能由于封装层原因,可触发显示提示的面积非常小)

不同的控件找原始控件方法不同,根据 Wn 控件寻找最原始控件,有的可能封装一层如上述 WnBool,有的可能封装多层,如 WnText 封装二层,寻找方法 (wnText1.OriginControl as WnTextEditorBase).TextEdit

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册