Странное поведение с C # (VS 2010) Событие щелчка мыши ListView Control (элементы без флажка):
private void m_ListView_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
// Returning some times wrong values
ListViewItem lvi = m_ListView.GetItemAt(e.X, e.Y);
//.... more logic here
}
}
После того, как я щелкнул элемент и сразу же переместил мышь вниз или вверх, некоторые другиеэлемент выбирается вместо того, для которого он предназначен;
Я отлаживал и узнал, что eX, eY захватывает НЕПРАВИЛЬНЫЕ значения.Когда я нажимаю и оставляю указатель мыши неподвижным, он работает нормально.Но если я щелкнул и сразу переместился в другую строку, вместо этого выделяется одна из этой строки.
Вопросы:
- Это известная проблема с событиями мыши ListView?
- Есть ли другой способ получить правильные координаты для событий мыши?
Это проект уровня предприятия, где производительность очень важна.Мы написали оригинальный код для всех событий мыши, таких как: вверх, вниз, двойной щелчок, щелчок мышью, проверка элементов и т. Д.
-Kartik