![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| vasjon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 26.9.2007 Репутация: нет Всего: нет |
возможен ли сабж ?
для чего это мне нужно: есть нестандартный грид, у него есть 2 события: FocusedRowChanged, FocusedColumnChanged. При смене фокуса может быть 3 варианта: 1) FocusedRowChanged, FocusedColumnChanged 2) FocusedRowChanged 3) FocusedColumnChanged мне надо узнать на какой ячейке сейчас фокус и вызвать метод, для этого надо какое-нибудь событие после отработки этих событий... идеально подошел бы MouseDown, но он выполняется перед этими событиями :( соотвественно вопрос: можно ли измененить порядк вызовов событий ? или может есть более простой способ ? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Обычно вместе с событием есть виртуальный метод с именем OnИмяСобытия, который можно перекрыть и добавить свои действия до (или после) вызова base.OnИмяСобытия. В base происходит генерация ИмяСобытия.
-------------------- ![]() |
|||
|
||||
| vasjon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 26.9.2007 Репутация: нет Всего: нет |
OnFocusedRowChanged, OnFocusedColumnChanged - нету, а OnMouseDown есть, но от него мало толку, хотя тут вопрос откуда взять параметры (System.Windows.Forms.MouseEventArgs)для этого метода ?
|
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 3 Всего: 40 |
только не лучше ли в этом случае использовать событие CellEnter ? Хотя бы потому, что фокус может менятся с клавиатуры... Это сообщение отредактировал(а) 1stain - 9.10.2007, 15:21 -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| vasjon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 26.9.2007 Репутация: нет Всего: нет |
было бы событие CellEnter проблем не было бы...
моих знаний Ваш код применить не хватает. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Как костыльный вариант - создать таймер с частотой 100мс и int переменную-счётчик, и при генерации любого из событий FocusedXXXChanged сбрасывать счётчик в 0. В обработчике Timer.Elapsed увеличивать счётчик на 1 и проверять, к примеру, если он равен 5 значит прошло полсекунды с последнего события (и больше не поступало), значит можно выполнить нашу проверку выбранной ячейки и т.п. действия. События FocusedXXXChanged будут генерироваться генерироваться в любом случае быстрее, чем за полсекунды, поэтому будет некая гарантия что ячейка выбрана окончательно.
-------------------- ![]() |
|||
|
||||
| vasjon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 26.9.2007 Репутация: нет Всего: нет |
имено этот вариант и использовал
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |