![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| styu |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Есть класс для перехвата нажатия кнопки Del с клавиатуры
Вызываю этот класс в классе формы
Отладчик выдает ошибку "No overload for method 'MyMessageFilter' takes '0' arguments" в строке
Как можно решить эту проблему, подскажите, пожалуйста |
||||||
|
|||||||
| Sfate |
|
|||
![]() Angry Beaver ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 7.9.2008 Где: mov AL, BL Репутация: нет Всего: нет |
--------------------
"Начинающий программист твердо уверен, что в 1 кбайте 1000 байт, а опытный точно знает, что в 1 километре 1024 метра..." © Unknown |
|||
|
||||
| KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 11 Всего: 38 |
А скобки кто добавлять будет?)
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
| styu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Sfate, Спасибо, попробую ..
Добавлено через 50 секунд KelTron, В проекте есть, на сайте у меня очепатка получилась :( |
|||
|
||||
| KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 11 Всего: 38 |
А, ну это потому что у тебя нет конструктора по умолчанию в классе MyMessageFilter.
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
| styu |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
KelTron,
А что это означает? Что надо сделать? Добавлено через 4 минуты и 15 секунд Sfate,
Я записала так:
Но ошибка осталась прежней. |
||||||
|
|||||||
| styu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
||||
|
||||
| Sfate |
|
|||
![]() Angry Beaver ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 7.9.2008 Где: mov AL, BL Репутация: нет Всего: нет |
небходимо передавать в функцию какие то значения, или все время будет ошибка о ненулелевых аргументах функции... т.е.
где SomeKindOfForm будет присваиваться как значение f ... естественно вместо SomeKindOfForm пишем свое необходимое значение;) --------------------
"Начинающий программист твердо уверен, что в 1 кбайте 1000 байт, а опытный точно знает, что в 1 километре 1024 метра..." © Unknown |
|||
|
||||
| styu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Sfate,
Передо мной стояла задача: Есть база, которую отображает DataGrid, мне надо, чтобы при нажатии на клавишу Del клавиатуры, появлялось окошко с вопросом, хочу ли я действительно удалить запись - это все я реализовала в классе
теперь я не знаю, как из класса формы вызвать класс MyMessageFilter Для меня это сложно, я не понимаю, что надо передавать в эту функцию? |
|||
|
||||
| Sfate |
|
|||
![]() Angry Beaver ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 7.9.2008 Где: mov AL, BL Репутация: нет Всего: нет |
styu, Вы, переделываете чужую программую? или... Вы не можете разобрать, что сами написали?
Это сообщение отредактировал(а) Sfate - 30.1.2010, 03:01 --------------------
"Начинающий программист твердо уверен, что в 1 кбайте 1000 байт, а опытный точно знает, что в 1 километре 1024 метра..." © Unknown |
|||
|
||||
| PaZ1T1V |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 26.2.2008 Где: Багдад ) Репутация: нет Всего: нет |
а зачем мудрить? зачем создавать свой класс ? не легче ли воспользоваться стандартным MessageBox
if (MessageBox.Show([наш вопрос в кавычках], [заголовок окна тоже в кавычках], MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { удалить то что надо } все это делается в обработчике нажатия клавиш и при условии если e.KeyCode == Keys.Del помоему так, писал по памяти... или я не правильно понял? а если уж до зарезу нужно обрабатывать с помощью своего класса, то делаем так PS код класса и формы в студию.... телепатов нету ;) не так.... Делаем класс, в вашем случае MyMessageFilter: IMessageFilter делаем конструктор но не по умолчанию
переопределяем метод PreFilterMessage
далее открываем Program.cs
вуаля! работает! Это сообщение отредактировал(а) PaZ1T1V - 31.1.2010, 19:56 --------------------
[size=8]Atention please!!![/size] [size=6]Кривые руки[/size] |
||||||
|
|||||||
| styu |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
PaZ1T1V, Спасибо, ошибка больше не вылетает. Но при нажатии клавиши del запись не удаляется, но и не появляется окошка с запросом. Выкладываю код класса:
Далее
|
||||
|
|||||
| KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 11 Всего: 38 |
Да тут класс совсем не нужен, только сильно усложняет всё.
Лучше сделать как PaZ1T1V предлагал через обычный обработчик:
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
| PaZ1T1V |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 26.2.2008 Где: Багдад ) Репутация: нет Всего: нет |
поставте return true, я ж писал, что return false для того, чтобы игнорировать обработку сообщения
PS должно все заработать --------------------
[size=8]Atention please!!![/size] [size=6]Кривые руки[/size] |
|||
|
||||
| styu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
PaZ1T1V, установила return true, ничего не изменилось
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |