カーソルが項目の上に現れるときに、標準のListViewに表示されるカーソルを変更しようとしています。しかし、マウスが指のカーソルに変わってから、私が尋ねたものに戻ってきたら、ちらつきの効果が出てきます。ListViewカーソルの変更とちらつき
私はこのちらつき/ハンドカーソルへの変更を分離しようとしていますが、発生している場所や停止方法を特定できません。これを複製するには...
1)ListViewでフォームを作成します。 2)イメージリストといくつかのイメージを追加します。ビューを大きなアイコンモードに設定します。 3)ListViewにいくつかの項目を追加します。
はListView
にMouseMove
イベントを追加します。
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
ListViewItem selected = this.listView1.GetItemAt(e.X, e.Y);
if (selected == null)
{
base.Cursor = Cursors.Default;
}
else
{
base.Cursor = Cursors.No;
}
}
は、項目の上にマウスを移動し、アプリを実行します。アイテムの上にいるときは、No(入力カーソルなし)と指のポインタの間にカーソルが点滅するはずです。疑問は、単にNoカーソルを表示し、ちらつきを表示しないようにする方法です。 (C#.NET)。
私はOnMouseMoveとOnMouseHoverの両方をオーバーライドして戻り値を設定しないようにしました。私はまた、Cursorプロパティをオーバーライドして、「デフォルトまたはカーソルなしに設定する」と言っていましたが、どちらも機能しませんでした。
助けてください。
イアン
他の場所で発生しますか?たとえば、ハイパーリンクや他のアプリケーションをナビゲートする場合は、それともあなたのアプリケーションでのみ*起こりますか? もしそうなら、おそらくOSの問題です。 – Razzie
クロスプラットフォームのクロスアプリケーションです。あなたが私のコメントをteknohippyに読んだら...問題は、手作業によるアイテムの描きやホットラッキングでは誇張されています。私は(m.Msg == 0x020)カーソルを変更する場合、返すWndProcをオーバーライドしようとしました。何かが手に変わるが、私は何がわからない。 – Ian
ListViewのActivationプロパティをどのように設定していますか? OneClickの場合、アイテム上にカーソルを置くと、コントロール自体がカーソルをハンドカーソルに変更します。 – EricLaw