Двойной щелчок VB.NET-Grid запускается одним щелчком мыши. - PullRequest
1 голос
/ 24 июня 2010

Хорошо, вот странная проблема с VB.NET Grid.Я уверен, что это действительно просто, но для меня это не имеет смысла.

У меня есть сетка, которая отображает данные из источника привязки.У меня есть метод для обработки CellContentDoubleClick, который будет получать значение ячейки и использовать его для нового поиска.Это создаст новый источник данных (с разными столбцами), который я затем перепривязываю к сетке.

Мой двойной щелчок сетки работает, но когда он перерисовывается с новыми данными, один щелчок запускает двойной щелчок.Это происходит независимо от того, является ли обработчик одним щелчком мыши.

Интересно то, что это (в моем случае) переключение.Если я дважды щелкну на перерисовке, один щелчок запускает код двойного щелчка.Когда он снова перерисовывается, мне нужен двойной щелчок.

Код двойного щелчка запускает окно сообщения - если я говорю, чтобы оно не продолжалось, то я должен был дважды щелкнуть, чтобы снова его запустить.Таким образом, это не зависит от того, какие данные отображаются.

Когда он находится в режиме ответа на один щелчок, я могу переключаться между всеми элементами управления и затем нажимать на любую ячейку в сетке, и она все равно будетвыполните двойной щелчок.

Независимо от того, что я пытаюсь сделать (установить фокус на другие элементы управления, обновить сетку и т. д.), ничто, похоже, не сбрасывает сетку, поэтому она работает согласованно.идеи?

1 Ответ

0 голосов
/ 06 июля 2010

Хорошо, я нашел ответ. Сетка данных (по крайней мере, в VS.Net 2007) имеет свойство с именем «EditMode». Если это установлено в EditOnEnter (НЕ по умолчанию), то вы будете испытывать это поведение. Если вы сбросите его (или измените его на EditOnKeystrokeOrF2), сетка данных будет работать так, как вы ожидаете (ни один щелчок не действует как двойной щелчок).

Это после тестирования с потоками, подклассами сетки, вы называете это ... Я должен был сначала просмотреть настройки свойств .... grumble ....

...