将工具提示上的鼠标移到图像上嘿,我不知道这是否可能,但我正在尝试使用Graphics方法 - DrawImage动态地添加工具提示到图像。我没有看到任何属性或事件的时候,图像被蒙上了阴影或任何东西,所以我不知道从哪里开始。我正在使用WinForms(在C# - .NET 3.5中)。任何想法或建议,将不胜感激。谢谢。如何使用.DrawImage()
1
A
回答
1
我想你有某种UserControl
,你在OnPaint
方法中调用DrawImage()
。
鉴于此,您的工具提示必须明确控制。基本上,在你的表单上创建一个Tooltip
,通过属性给你的控件,当你的控件收到MouseHover
事件时显示工具提示,并在收到MouseLeave
事件时隐藏工具提示。
事情是这样的:
public partial class UserControl1 : UserControl
{
public UserControl1() {
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
// draw image here
}
public ToolTip ToolTip { get; set; }
protected override void OnMouseLeave(EventArgs e) {
base.OnMouseLeave(e);
if (this.ToolTip != null)
this.ToolTip.Hide(this);
}
protected override void OnMouseHover(EventArgs e) {
base.OnMouseHover(e);
if (this.ToolTip == null)
return;
Point pt = this.PointToClient(Cursor.Position);
String msg = this.CalculateMsgAt(pt);
if (String.IsNullOrEmpty(msg))
return;
pt.Y += 20;
this.ToolTip.Show(msg, this, pt);
}
private string CalculateMsgAt(Point pt) {
// Calculate the message that should be shown
// when the mouse is at thegiven point
return "This is a tooltip";
}
}
1
记住,你必须店的界限,使您绘制 并在mouseMove event
检查如果current Mouse cursor
在该区域的位置,然后显示工具提示否则图像把它藏起来。
ToolTip t;
private void Form1_Load(object sender, EventArgs e)
{
t = new ToolTip(); //tooltip to control on which you are drawing your Image
}
Rectangle rect; //to store the bounds of your Image
private void Panel1_Paint(object sender, PaintEventArgs e)
{
rect =new Rectangle(50,50,200,200); // setting bounds to rect to draw image
e.Graphics.DrawImage(yourImage,rect); //draw your Image
}
private void Panel1_MouseMove(object sender, MouseEventArgs e)
{
if (rect.Contains(e.Location)) //checking cursor Location if inside the rect
{
t.SetToolTip(Panel1, "Hello");//setting tooltip to Panel1
}
else
{
t.Hide(Panel1); //hiding tooltip if the cursor outside the rect
}
}
相关问题
- 1. javascript - 如何使用drawImage/putImageData来剪辑
- 2. drawImage如何工作?
- 3. 如何清除drawimage?
- 4. VB.NET - 使用的DrawImage用的ImageList
- 5. drawImage()不起作用
- 6. drawImage()不起作用
- 7. 如何使用Report Lab的画布drawImage()插入图像?
- 8. 如何使用canvas drawImage处理质量损失?
- 9. 在drawImage中使用imagedata对象
- 10. 在java中使用drawImage图像
- 11. 使用drawImage在JPanel中绘制图像
- 12. 的drawImage使用HTML5画布的toDataURL
- 13. Canvas drawImage的优化如何工作?
- 14. 画布更新与缓冲区drawImage不应用与drawImage行动
- 15. drawImage()不适用于画布
- 16. GDI + DrawImage函数
- 17. Html5 canvas drawImage stretched
- 18. Canvas drawImage with Coffeescript
- 19. drawImage()不绘制
- 20. DrawImage导致OutOfMemoryException
- 21. vs [CIContext drawImage:...]
- 22. Java drawImage方法
- 23. drawImage中的TypeMismatchError()
- 24. Java AWT drawImage竞态条件 - 如何使用同步来避免它
- 25. 如何在调整图像大小时调整图像大小使用drawImage
- 26. 的drawImage的Java API
- 27. 画布 - DrawImage方法
- 28. firefox svg canvas drawImage error
- 29. 的drawImage不工作
- 30. 的drawImage不工作
谢谢,明天我会试试,并报告回来。 – Travyguy9 2010-11-28 06:17:58