CellToolTipTextNeeded
のイベントを使用してDataGridView
おり、ツールチップがマウスの下に表示されています。リフレクションを介してオブジェクトを取得できますが、ToolTip
を呼び出しているのは私ではないため、オブジェクトが配置されている場所を制御することはできませんShow()
。ツールチップを移動するにはどうすればよいですか?
4 に答える
WindowのAPI呼び出しを開始する場合を除き、2.0フレームワークを使用してツールチップを配置する方法と場所を制御する場合は、ShowメソッドとHideメソッドを使用してツールチップを自分で制御する必要があります。
残念ながら、ツールチップの位置は、作成の非常に早い段階で設定されているようです。ツールチップには処理するイベントが3つしかないため、この場合はDisposeにはあまり関心がありません。
Drawイベントは、Popupイベントの後に発生し、PopupEventArgsのBoundsプロパティが読み取り専用であるため、位置がすでに設定されているように見えます。
カスタムコントロールの作成に関する多くの記事(この投稿の時点)の1つへのリンクは次のとおりです:http: //andrusdevelopment.blogspot.com/2007/10/implementing-custom-tooltip-in-c.html
また、ツールチップのShowメソッドとHideメソッドの使用に関するMSDNドキュメントは、実際にはかなり適切です。http: //msdn.microsoft.com/en-us/library/44atyhsa (VS.80,printer).aspx
申し訳ありませんが、これに対する迅速で簡単な答えがあるようには見えません。うまくいけば、誰かが私が間違っていることを証明してくれるでしょう。
スコット
カスタムにいかがでしょうか?
簡単に言えば、できません。とにかくまだできません。おそらく、「unknown (yahoo)」のようなカスタムのビルドを検討することになるでしょう。
このリンクには、Tooltip オブジェクトを使用する適切な回答があります。
C# datagridview のデフォルトのツールチップ動作をオーバーライドして、特定のセルのツールチップ遅延を増やす方法