こんにちは、これは可能かどうかわかりませんが、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. DataGridTextColumnにツールチップを追加するにはどうすればいいですか?
- 2. jqueryを使用してコンテンツをもう一度追加するにはどうすればいいですか?
- 3. CSSを使用して要素間にスペースを追加するにはどうすればいいですか?
- 4. Javaでは、JButtonのツールチップに改行を追加するにはどうすればよいですか?
- 5. DataContractを使用してXML属性を追加するにはどうすればいいですか
- 6. jQueryを使用してバリエーションHEADにコンテンツを追加するにはどうすればよいですか?
- 7. Interface Builderを使用してUIBarButtonItemsをUIViewController.toolbarItemsプロパティに追加するにはどうすればよいですか?
- 8. LINQを使用してデータベースにレコードを追加するにはどうすればよいですか?
- 9. セットアップスクリプトを使用してMagentoにカテゴリを追加するにはどうすればよいですか?
- 10. コマンドラインパラメータをwixインストーラを使用してレジストリに追加するにはどうすればよいですか?
- 11. html5キャンバスを使用して画像にテキストを追加するにはどうすればよいですか?
- 12. スプレッドシートギアを使用してExcelにドロップダウンリストを追加するにはどうすればよいですか?
- 13. PowerShellを使用してweb.configにセクションを追加するにはどうすればよいですか?
- 14. View Pagerを使用してコーディネーターレイアウトにボトムビューを追加するにはどうすればよいですか?
- 15. CSSを使用してアンカータグに画像を追加するにはどうすればよいですか?
- 16. ddplyを使用してデータフレームに列を追加するにはどうすればよいですか?
- 17. Dojoを使用してDOMノードにスタイリングを追加するにはどうすればよいですか?
- 18. デリゲートを使用してtableviewにデータを追加するにはどうすればよいですか?
- 19. pyYAMLを使用してPythonタプルをYAMLファイルに追加するにはどうすればよいですか?
- 20. jQueryを使用してチェックボックスにtoggleClassを追加するにはどうすればよいですか?
- 21. javascriptを使用してテキストボックスに属性を追加するにはどうすればよいですか?
- 22. JavaScriptを使用してページにドロップダウンを追加するにはどうすればよいですか?
- 23. customadapterを使用してリストビューにスピナーを追加するにはどうすればよいですか?
- 24. MKPointAnnotationを使用してMKMapViewに注釈を追加するにはどうすればよいですか?
- 25. System.DirectoryServices.AccountManagementを使用してADにユーザーを追加するにはどうすればよいですか?
- 26. Rubyメタプログラミングを使用してコールバックをRailsモデルに追加するにはどうすればよいですか?
- 27. wp_nav_menuを使用してulの前にタイトルを追加するにはどうすればよいですか?
- 28. gradleを使用してsourceSetにリソースを追加するにはどうすればよいですか?現在、
- 29. Mustacheテンプレートを使用してドロップダウンにオプションを追加するにはどうすればよいですか?
- 30. パススルーを使用してパスに値を追加するにはどうすればよいですか?
ありがとう、私は明日それを試して、報告します。 – Travyguy9