1

OK、私が理解しているように (おそらくここでは間違っています)、Windows フォームには Cursor プロパティがあり、すべての子コントロールもそうです。このカーソルは驚くべきことに、矢印ポインターである Cursors.Default にデフォルト設定されています。ここまでは順調ですね。

ここで、コントロールでカバーされていないフォームの領域に別のカーソルが必要な場合は、フォームのマウス移動イベントをチェックして、その中でカーソルを変更できます。だから今私が期待しているのは、カーソルがフォーム上に移動すると、カーソルが Form.MouseMove_Handler で設定したものに変更されることですが、カーソルがフォームの子コントロール上に移動すると、子のコントロールに変更されます。カーソル。

しかし、これは私が見るものではありません。フォーム上を移動するとカーソルが変化しますが、子コントロール上を移動すると、親フォーム上を移動したときと同じままです。Control.Cursor プロパティはまったく尊重されていないようです。

これを機能させるには、フォーム上のすべてのコントロールの MouseMove、MouseEnter、および MouseLeave イベントを処理する必要がありますか?

4

1 に答える 1