1

CellToolTipTextNeededのイベントを使用してDataGridViewおり、ツールチップがマウスの下に表示されています。リフレクションを介してオブジェクトを取得できますが、ToolTipを呼び出しているのは私ではないため、オブジェクトが配置されている場所を制御することはできませんShow()。ツールチップを移動するにはどうすればよいですか?

4

4 に答える 4

1

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

申し訳ありませんが、これに対する迅速で簡単な答えがあるようには見えません。うまくいけば、誰かが私が間違っていることを証明してくれるでしょう。

スコット

于 2009-03-25T16:00:10.690 に答える
1

カスタムにいかがでしょうか?

于 2009-03-19T01:57:25.827 に答える
1

簡単に言えば、できません。とにかくまだできません。おそらく、「unknown (yahoo)」のようなカスタムのビルドを検討することになるでしょう。

于 2009-03-19T02:12:35.370 に答える
1

このリンクには、Tooltip オブジェクトを使用する適切な回答があります。

C# datagridview のデフォルトのツールチップ動作をオーバーライドして、特定のセルのツールチップ遅延を増やす方法

于 2012-02-24T01:46:41.027 に答える