0

ListViewを持つフォームを作成しています。ListViewのlistViewアイテムの1つにマウスを合わせると、「画像ウィンドウ」が表示されます。これは、「ListView」の「ItemMouseHover」イベントを使用して実装しました。この「画像ウィンドウ」をマウスの位置のすぐ近くに表示したいと思います。しかし、itemmousehoverイベントからマウスの位置を取得できませんでした。誰かがこれを達成する方法を言うことができますか?

注:私は.Net4.0を使用しています

編集: 「Danbystrom」は正確な答えを与えました。しかし、根本的な原因は別のものであることがわかりました。そのための私の答えを参照してください。

4

2 に答える 2

2

静的メソッド Control.MousePosition は、画面空間の座標を提供します。次に、Control.PointToClient インスタンス メソッドを使用して、それをクライアント座標に変換できます。

var pt = listView.PointToClient( Control.MousePosition );
于 2012-08-14T08:06:08.333 に答える
0

プロパティ「StartPosition」で「WindowsDefaultLocation」の代わりに「Manual」を選択した場合にのみ、新しいウィンドウが配置されます。そうしないと、「OS」は新しいウィンドウの位置をマウスの位置に近づけようとします。新しいウィンドウがその位置でマウスを隠している場合、ちらつきの原因となるいくつかの近くのポイントを試します。

于 2012-08-14T09:04:13.693 に答える