导航
  • 主页
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm
  • WPF
  • 问答

我希望绘制自定义的ToolTip,包含图片/按钮等,Winform的,应该怎么办?

纷享刘晨 2007-03-28 03:43:56
在toolTip的Draw事件中,可以获得Graphic,但是我希望改变绘制区域的大小的时候遇到问题,不知道如何下手。如果索性重新写一个ToolTip,应该怎么实现绘制功能呢?

我一直无法理解toolTip是如何把自己绘制在所属的窗体的外面的。比如控件只能出现在Form上,那toolTip是把自己画在哪儿呢?如何才能得到toolTop所要绘制到的Graphic呢?希望高手帮忙。。
...全文
779 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaochong12 2007-08-29
A Simple C# Toolbar Docking Framework
一个拖放停靠工具条
http://www.codeproject.com/cs/menu/ToolBarDock.asp


ToolStrip Custom Renderers
透明Tool条
http://www.codeproject.com/useritems/CustomToolStripRenderer.asp


Toolbar control
http://www.codeproject.com/cs/miscctrl/cstoolbar1.asp
回复
wdgphc 2007-08-28
mark
回复
纷享刘晨 2007-03-29
自定义tooltip大小及绘制自定义内容:

this.toolTip1.Draw += new DrawToolTipEventHandler(toolTip1_Draw);
this.toolTip1.Popup += new PopupEventHandler(toolTip1_Popup);

在toolTip1_Popup方法中,改变tooltip大小
void toolTip1_Popup(object sender, PopupEventArgs e)
{
e.ToolTipSize = new Size(180, 123);
}

在toolTip1_Draw中绘制图象。我做的是绘制了一个头像进去,还有一些文字。但是对于超链接等控件,就实在没有办法了。
void toolTip1_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
Bitmap bmp = GetBitmap(AppDomain.CurrentDomain.BaseDirectory + @"face\", "1-1.bmp");
bmp.MakeTransparent(Color.FromArgb(255, 0, 128, 128));
e.Graphics.DrawImage(bmp, new Point(10, 10));
e.DrawBorder();
e.DrawText(TextFormatFlags.Left | TextFormatFlags.TextBoxControl);
}
回复
wzq6511 2007-03-29
mark
回复
hcl8260 2007-03-29
不会,帮顶
回复
懒牛科技 2007-03-29
收藏
搂住怎么样实现的,共享下
回复
stephen0126 2007-03-29
还不会,关注
学习,学习!
回复
纷享刘晨 2007-03-29
tooltip的原理搞明白了,应该很能说明问题。

顶者有分~!~
回复
纷享刘晨 2007-03-29
第一个问题已经解决了,现在主要疑惑的是第二个,我新开了一个帖子,希望高手可以帮忙.

http://community.csdn.net/Expert/topic/5427/5427196.xml?temp=.9080011
回复
Red_angelX 2007-03-29
非常非常麻烦的东西-_-#
回复
纷享刘晨 2007-03-29
高手来帮忙啊
回复
发动态
发帖子
C#
创建于2007-09-28

10.4w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.