关键代码:
using System.Drawing; using System.Windows.Forms; namespace WinFormUtilHelpV2 { /// <summary> /// 基于.NET 2.0的Tooltip工具类 /// </summary> public static class TooltipToolV2 { /// <summary> /// 为控件提供Tooltip /// </summary> /// <param name="control">控件</param> /// <param name="tip">ToolTip</param> /// <param name="message">提示消息</param> 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; } /// <summary> /// 为控件提供Tooltip /// </summary> /// <param name="control">控件</param> /// <param name="tip">ToolTip</param> /// <param name="message">提示消息</param> /// <param name="durationTime">保持提示的持续时间</param> 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; } /// <summary> /// 为控件提供Tooltip /// </summary> /// <param name="control">控件</param> /// <param name="tip">ToolTip</param> /// <param name="message">提示消息</param> /// <param name="xoffset">水平偏移量</param> /// <param name="yoffset">垂直偏移量</param> 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; } /// <summary> /// 为控件提供Tooltip /// </summary> /// <param name="control">控件</param> /// <param name="tip">ToolTip</param> /// <param name="message">提示消息</param> /// <param name="xoffset">水平偏移量</param> /// <param name="yoffset">垂直偏移量</param> /// <param name="durationTime">保持提示的持续时间</param> 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; } } }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }使用示例:
using System; using System.Windows.Forms; using WinFormUtilHelpV2; namespace TooltipToolV2Test { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { button1.ShowTooltip(toolTip, "button1_Click"); } private void listBox1_Click(object sender, EventArgs e) { listBox1.ShowTooltip(toolTip, "listBox1_Click", 500); } } }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }代码效果:
[WinForm]ToolTip 使用小计