tooltip控件,winform 自定义tooltip字体,样式适合各种控件(listview,datagridview)
tooltip控件,winform 自定义tooltip字体,样式适合各种控件(listview,datagridview)详细介绍
本文目录一览: 如何使用ToolTip组件
使用 ToolTip 组件的方法如下:打开MicrosoftVisualStudio2010,打开之前的串口程序,修改程序名字为浮动文字框;发送button按钮和用于输入发送信息的文本框;添加控件toolTip,程序界面的底部显示为tooltip1的名称;在load过程代码添加对应的提示代码;包括日志框、发送按钮、发送文本框的提示说明文字;生成exe文件进行测试;添加控件toolTip,点击需要添加提示文字的控件;在属性tooltip1上的ToolTip中输入需要显示的提示文字,即可启用ToolTip组件。
winform 自定义tooltip字体,样式适合各种控件(listview,datagridview)
先定义tooltip的操作类
public static class TooltipToolV2
? ? {
? ? ? ? ///
? ? ? ? /// 为控件提供Tooltip
? ? ? ? ///
? ? ? ? ///
控件
? ? ? ? ///
ToolTip
? ? ? ? ///
提示消息
? ? ? ? public static void ShowTooltip(this Control control, ToolTip tip, string message)
? ? ? ? {
? ? ? ? ? ? Point _mousePoint = Control.MousePosition;
? ? ? ? ? ? int _x = control.PointToClient(_mousePoint).X;
? ? ? ? ? ? int _y = control.PointToClient(_mousePoint).Y;
? ? ? ? ? ? tip.Show(message, control, _x, _y);
? ? ? ? ? ? tip.Active = true;
? ? ? ? }
? ? ? ? ///
? ? ? ? /// 为控件提供Tooltip
? ? ? ? ///
? ? ? ? ///
控件
? ? ? ? ///
ToolTip
? ? ? ? ///
提示消息
? ? ? ? ///
保持提示的持续时间
? ? ? ? public static void ShowTooltip(this Control control, ToolTip tip, string message, int durationTime)
? ? ? ? {
? ? ? ? ? ? Point _mousePoint = Control.MousePosition;
? ? ? ? ? ? int _x = control.PointToClient(_mousePoint).X;
? ? ? ? ? ? int _y = control.PointToClient(_mousePoint).Y;
? ? ? ? ? ? tip.Show(message, control, _x, _y, durationTime);
? ? ? ? ? ? tip.Active = true;
? ? ? ? }
? ? ? ? public static void HidenTooltip(this Control control, ToolTip tip) {
? ? ? ? ? ? tip.Hide(control);
? ? ? ? }
? ? ? ? ///
? ? ? ? /// 为控件提供Tooltip
? ? ? ? ///
? ? ? ? ///
控件
? ? ? ? ///
ToolTip
? ? ? ? ///
提示消息
? ? ? ? ///
水平偏移量
? ? ? ? ///
垂直偏移量
? ? ? ? public static void ShowTooltip(this Control control, ToolTip tip, string message, int xoffset, int yoffset)
? ? ? ? {
? ? ? ? ? ? Point _mousePoint = Control.MousePosition;
? ? ? ? ? ? int _x = control.PointToClient(_mousePoint).X;
? ? ? ? ? ? int _y = control.PointToClient(_mousePoint).Y;
? ? ? ? ? ? tip.Show(message, control, _x + xoffset, _y + yoffset);
? ? ? ? ? ? tip.Active = true;
? ? ? ? }
? ? ? ? ///
? ? ? ? /// 为控件提供Tooltip
? ? ? ? ///
? ? ? ? ///
控件
? ? ? ? ///
ToolTip
? ? ? ? ///
提示消息
? ? ? ? ///
水平偏移量
? ? ? ? ///
垂直偏移量
? ? ? ? ///
保持提示的持续时间
? ? ? ? public static void ShowTooltip(this Control control, ToolTip tip, string message, int xoffset, int yoffset, int durationTime)
? ? ? ? {
? ? ? ? ? ? Point _mousePoint = Control.MousePosition;
? ? ? ? ? ? int _x = control.PointToClient(_mousePoint).X;
? ? ? ? ? ? int _y = control.PointToClient(_mousePoint).Y;
? ? ? ? ? ? tip.Show(message, control, _x + xoffset, _y + yoffset, durationTime);
? ? ? ? ? ? tip.Active = true;
? ? ? ? }
然后在需要自定义tooltip的页面,引入tooltip,定义初始化方法
? ? ? ? ?string schedulerToolTip = "";
? ? ? ? private void toolTipSet(string tipText)
? ? ? ? {
? ? ? ? ? ? schedulerToolTip = tipText;
? ? ? ? ? ? toolTip1.OwnerDraw = true;
? ? ? ? ? ? toolTip1.Popup -= ToolTip_Popup;
? ? ? ? ? ? toolTip1.Popup += ToolTip_Popup;
? ? ? ? ? ? toolTip1.Draw -= ToolTip_Draw;
? ? ? ? ? ? toolTip1.Draw += ToolTip_Draw;
? ? ? ? }
? ? ? ? void ToolTip_Popup(object sender, PopupEventArgs e)
? ? ? ? {
? ? ? ? ? ? e.ToolTipSize = TextRenderer.MeasureText(schedulerToolTip, new Font("微软雅黑", 14.0f));
? ? ? ? }
? ? ? ? void ToolTip_Draw(object sender, DrawToolTipEventArgs e)
? ? ? ? {
? ? ? ? ? ? using (e.Graphics)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Font f = new Font("微软雅黑", 14.0f);
? ? ? ? ? ? ? ? e.DrawBackground();
? ? ? ? ? ? ? ? e.DrawBorder();
? ? ? ? ? ? ? ? e.Graphics.DrawString(e.ToolTipText, f, Brushes.Black, new Point(2, 2));
? ? ? ? ? ? }
? ? ? ? }
在需要操作的方法里面调用
private void dgv_CurTechnic_CellClick(object sender, DataGridViewCellEventArgs e)
? ? ? ? {
? ? ? ? ? ? if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
? ? ? ? ? ? var tempText= (dgv_CurTechnic.Rows[e.RowIndex].Cells[e.ColumnIndex].Value ?? string.Empty).ToString();
? ? ? ? ? ? string resultString = "";
? ? ? ? ? ? int i = 0;
? ? ? ? ? ? int size = 12;
? ? ? ? ? ? // 此处为了换行,适当参考
? ? ? ? ? ? for (; i< tempText.Length / size; i++)?
? ? ? ? ? ? ? ? resultString += tempText.Substring(i* size, size) + Environment.NewLine;
? ? ? ? ? ? resultString += tempText.Substring(i * size, resulttxt.Length - i * size);
? ? ? ? ? ? toolTipSet(resultString);
? ? ? ? ? ? dgv_CurTechnic.ShowTooltip(toolTip1, resultString, 55000);
? ? ? ? }
? ? ? ? private void dgv_CurTechnic_Leave(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? dgv_CurTechnic.HidenTooltip(toolTip1);
? ? ? ? }
C# ToolTip控件如何使用
二、ToolTip的使用方法(1)鼠标移动到控件或指定的位置自动显示ToolTip.SetToolTip 方法 ,注意相关参数的设置。(2)ToolTip的动画效果可以借助参数:AutoPopDelay InitialDelay ReshowDelay实现Tooltip的动画效果。下面是一个具体的例子:ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.textBox1, "请输入用户名");
toolTip1.SetToolTip(this.textBox2, "请输入密码。");(3)ToolTip提示图片设置使用ToolTip的ToolTipIcon属性可以设置提示图片,主要有以下几种:Error 错误图标Info 信息图标。None 不是标准图标。Warning 警告图标。(4)实现ToolTip的气泡样式将ToolTip.IsBalloon 属性 设置为True(5)自定义ToolTip的位置和触发事件显示ToolTip.Show 方法,注意相关参数的设置。例如:m_ToolTip.Show(pStringBuilder.ToString(),
m_HookHelperJP.FormObjects.Win32Window,e.x + r.Left, e.y + r.Top);三、ToolTip使用技巧(1)ToolTip.Show时显示不能隐藏问题在再次触发Show前进行Hide操作(2)m_ToolTip信息不能及时更新问题这是因为其内存清理存在问题,处理方法:在显示前清楚内存,重新实例化。例如:m_ToolTip.Dispose();
m_ToolTip = new ToolTip();
m_ToolTip.ToolTipIcon = ToolTipIcon.Info;
//m_ToolTip.IsBalloon = true;
m_ToolTip.ShowAlways = true;
m_ToolTip.ToolTipTitle = sName;
m_HookHelperJP.FormObjects.Win32Window, e.x + r.Left, e.y + r.Top);(3)固定ToolTip的宽度ToolTip没有直接提供Width属性,找了很久可用以下方法设置:在显示前ToolTip.Popup 事件中通过参数PopupEventArgs.Size进行设置。但是这只能覆盖多出的信息。这种处理不合理。
如何使用 ToolTip 组件
Windows 窗体的 ToolTip 组件在用户指向控件时显示相应的文本。工具提示可与任何控件相关联。举一个使用此控件的示例:为节省窗体上的空间,可以在按钮上显示一个小图标并用工具提示解释该按钮的功能。
如果在程序设计窗体中添加了 ToolTip 组件,则程序设计窗体中的所有控件的属性中将自动增加一个 ToolTip 属性,用于为程序设计窗体中的控件添加提示信息。它的用途是当鼠标位于某个控件上并停留一段时间后,显示该控件功能的提示信息。
其主要属性包括:
(1) Active 属性:获取或设置一个值,指示工具提示当前是否处于激活状态。
如果工具提示当前处于活动状态,则为 true;否则为 false。默认为 true。
可为一个窗体创建并分配多个 ToolTip 组件,但将 Active 属性设置为 false 只影响当前 ToolTip。
(2) AutomaticDelay 属性:获取或设置工具提示的自动延迟。
自动延迟(以毫秒为单位)。默认值为 500。
(3) AutoPopDelay 属性:获取或设置当指针在具有指定工具提示文本的控件内保持静止时,工具提示保持可见的时间期限。
以毫秒为单位,默认值为 5000。
(4) ReshowDelay 属性:获取或设置鼠标指针从一个控件移到另一控件时,必须经过多长时间才会出现后面的工具提示窗口。以毫秒为单位。
(5) ShowAlways 属性:获取或设置一个值,该值指示是否显示工具提示窗口,甚至是在其父控件不活动的时候。
如果始终显示工具提示,则为 true;否则为 false。默认为 false。
(6) BackColor 属性:获取或设置工具提示的背景色。
(7) ForeColor 属性:获取或设置工具提示的前景色。
使用 BackColor 和 ForeColor 属性可修改工具提示所使用的配色方案。系统默认字体是自动使用的,并且只能通过自行绘制工具提示来重写。
(8) IsBalloon 属性:获取或设置一个指示工具提示是否应使用气球状窗口的值。
如果应使用气球状窗口,则为 true;如果应使用标准矩形窗口,则为 false。默认为 false。
ToolTip 组件最常用的一个公共方法是 SetToolTip 方法,它使工具提示文本与指定的控件相关联。其声明如下:
public void SetToolTip (
Control control,
string caption
)
其中,参数 control 是要将工具提示文本与其关联的控件;caption 是指针位于控件上方时要显示的工具提示文本。
作为一条通用规则,所用的文本应该简短;但是,可以使用 \r\n 转义字符序列插入分行符。
下面的实例主要介绍了如何使用工具提示(ToolTip)组件为程序窗体控件添加工具提示信息的编程技术。
具体步骤如下:
(1) 启动Visual Studio 2005,新建一个C# Windows应用程序项目,如下图所示(点击可看大图)。
(2) 向程序设计窗体中拖放一个GroupBox控件,在属性对话框中设置其Text属性为“学生基本信息”;再拖放4个Label控件,在属性对话框中设置其Text属性分别为“姓名:”、“年龄:”、“身份证号码:”、“联系地址:”;在这些Label控件右边拖放4个TextBox控件,调整窗体和这些控件的大小适应程序设计窗体的大小。
(3) 向程序设计窗体中拖放一个ToolTip控件,保留其默认属性值即可。
(4) 双击程序设计窗体Form1,为其Load(装载)事件添加如下代码:
private void Form1_Load(object sender, EventArgs e)
{
this.toolTip1.SetToolTip(this.textBox1, "请输入学生姓名。");
this.toolTip1.SetToolTip(this.textBox2, "请输入学生年龄。");
this.toolTip1.SetToolTip(this.textBox3, "请输入身份证号码。");
this.toolTip1.SetToolTip(this.textBox4, "请输入联系地址。");
手机端实现Tooltip (Hover)
首先参考了这篇文章: 5行JS自定义title提示效果(Tooltip)
参考后实现如下:
Html: 用了angularjs的ng-repeat
css:
然后发现iPhone手机点击后仍然不显示提示文字。
参考了这篇文章解决了问题。 苹果手机无法识别hover的解决方案
在html页面后面加上
在实现过程中又找到了几个现成的插件亲测可用:
Microtip.css 纯css3 Tooltip工具提示样式
Hint.css 纯CSS实现的Tooltip提示 - Hint.css
纯css3 Tooltip工具提示样式
tootik
之前还尝试使用过jquery-ui的Tooltip,iPhone也是不好用但是发现这篇文章非常好。
解决 Jquery UI Tooltip 用在Select 的BUG
这是我用jquery-ui时的写法,因为给所有document都响应tooltip事件,导致只要有title的都会显示。
文章里这种改法可以过滤我们想要响应hover的到底是什么元素。
这部分内容jQuery-UI 控件上是没有说的,非常有用。
这篇文章没细看
ontouchstart实现手机触屏中的hover效果
求助关于Chart图表控件ToolTip的问题
您好,请问您是想知道求助关于Chart图表控件ToolTip的问题吗?
Winforms C1Chart提供了ToolTip的支持。
实现为Chart添加ToolTip的步骤:
首先,通过C1Chart的Move事件保存X、Y坐标、
然后,创建按创建一个展示在图表上的仿Y轴的线。这就需要处理C1Chart的Paint事件,然后使用Graphics.DrawLine方法画线。
最后,通过Chartdataseries points计算这条线,然后在这条仿Y轴上画出值
现在,当鼠标在c1chart上移动的时候,我们可以看到一条可以移动的Y轴以Tooltip的方式展现。 具体的代码实现,请参考:
http://blog.gcpowertools.com.cn/post/C1Chart_movableY.aspx
C# 中的tooltip 控件的一些属性怎么用
this.toolTip1.ToolTipTitle 获取或设置工具提示窗口的标题。
this.toolTip1.ToolTipIcon 获取或设置一个值,该值定义要在工具提示文本旁显示的图标的类型。
this.toolTip1.UseFading 获取或设置一个值,该值确定在显示工具提示时是否应使用淡入淡出效果。
this.toolTip1.UseAnimation 获取或设置一个值,该值确定在显示工具提示时是否应使用动画效果。
System.Windows.Forms.ToolTip 的成员摘要:设置与指定控件关联的工具提示文本,然后在指定的相对位置和在指定的时间段内保持该工具提示的显示。
参数:text: 包含新工具提示文本的 System.String。
window: 要为其显示工具提示的 System.Windows.Forms.Control。
x: 用来显示工具提示的水平偏移量(以像素为单位),该偏移量相对于关联控件窗口的左上角。
y: 用来显示工具提示的垂直偏移量(以像素为单位),该偏移量相对于关联控件窗口的左上角。
duration: 包含工具提示持续显示时间(以毫秒为单位)的 System.Int32。 补充: 你可以去掉那个两个参数,像这样也可以
这样会好一点,相信你看了参数设置就会明白的
c#winform中label 标签 鼠标悬浮上去,怎么出现一个提示框!
工具栏找到tooltop控件,拖到form上,每个控件就会多出这个属性
您好!您可以:
对label设置一个MouseHover中断。
在中断函数里面,调用一个MessageBox,给它的Text赋值上您想显示的话,就可以了。
望采纳!
在界面设计中添加toolTip控件toolTip1,在程序设计中加入
toolTip1.SetToolTip(label1, "测试");
利用ToolTip控件可以实现你的要求。步骤如下
【步骤1】向窗体Form1添加一个ToolTip控件toolTip1
【步骤2】设置toolTip1属性
【步骤3】向窗体Form1添加一个Label控件并设置属性
【运行效果】
当鼠标移动到label1上时,显示一个提示框,如下图
delphi 有tooltip控件吗
delphi 内置没有提供现在的 ToolTip 控件,但可以设置控件的 Hint 属性。
如果想显示特定的信息提示框(比如气泡式的),可以考虑使用第三方的 delphi 控件,如:CnPack 提供的免费组件包中的 CnHint 组件等:
C#里面关于toolTip和System.Drawing.Bitmap问题
BackgroundImage属性里面System.Drawing.Bitmap就是给BackgroundImage属性设置了一张图片。你点击BackgroundImage,会出现一个小按钮,点击那个按钮。
你往窗体里添加一个System.Windows.Forms.ToolTip 控件就可以设置ToolTip 属性
ToolTip 属性是每个控件基本都有的属性,在里面填写自己想要的提示文本,然后设置控件的showtooltip属性为true,就可以了,当鼠标放上去就会有文本提示信息显示出来了。
System.Drawing.Bitmap是系统位图,当你设置背景图片的时候,选择好照片后,系统将会把你选择的照片生成为位图保存在系统里面,以后不图里的你原始图片,可以直接加载图片了!
拖一个ToolTip控件到窗体上,然后再看控件属性。
先是空的,鼠标点击上去后可以浏览本地图片,然后就是上图的外观。具体是哪个图片,你可以双击FormXXX.resx查看。