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

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

我一直无法理解toolTip是如何把自己绘制在所属的窗体的外面的。比如控件只能出现在Form上,那toolTip是把自己画在哪儿呢?如何才能得到toolTop所要绘制到的Graphic呢?希望高手帮忙。。
...全文
1139 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
高手来帮忙啊

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧