Никакая перегрузка для ‘метода’ не соответствует делегату ‘System.EventHandler’
Я пытаюсь создать программу, которая после нажатия кнопки каждые 5 секунд будет выполнять функцию (OnTimed).
Вот пока что код:
Когда я запускаю код, он показывает ошибку:
«Нет перегрузки для ‘method’ соответствует делегату ‘System.EventHandler’
6 ответы
Сигнатура метода обработчика событий несовместима с типом делегата.
Подписчики на DispatcherTimer.Tick событие должно быть EventHandler тип делегата, который объявлен как:
Попробуйте это вместо этого:
Если вы используете Windows Phone 8.1, вам понадобится следующее
Метод OnTimed должен быть объявлен следующим образом:
Я знаю, что может быть немного поздно, но я просто хотел добавить немного больше для тех, у кого есть эта проблема:
Также это можно записать так: timer.Tick + = Метод;
ответ дан 25 апр.
публичное событие EventHandler Tick;
Итак, параметры EventHandler должны быть:
Похоже, тебя немного не заметили Система.Таймеры.Таймер.Прошло событие, которое:
В моем случае я использовал настраиваемый элемент управления winforms для распознавания отпечатков пальцев digitalPersona.
Когда я пытался перегрузить метод OnComplete, он выдавал «Нет перегрузки . »
Вот как это выглядело.
Я заглянул в сборку и заметил, что к третьему параметру прикреплено ключевое слово ref. Я добавил это в свой код, и он сработал:
ответ дан 11 окт ’17, 11:10
К сожалению, это не имеет ничего общего с исходным вопросом (на который уже был дан достаточный ответ). — user604613
Да, но я погуглил заголовок этого сообщения и обнаружил, что ответ отличается от выбранного здесь. Неужели кому-то так сложно столкнуться с той же проблемой, что и я? Я не публиковал его для репутации или ж / д — я хочу помочь другим, в этом весь смысл этого сайта .. — Кристиан Джи
Правильный курс действий — создать свой собственный вопрос, соответствующий вашей проблеме, с правильными тегами (Windows Forms и т. Д.) И ответить на него самостоятельно. — user604613
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками c# .net wpf compiler-errors or задайте свой вопрос.
No overload for 'method' matches delegate 'System.EventHandler'
I am trying to build a program that, once the button was click, every 5 second will perform the function (OnTimed).
Below is the code so far:
When i run the code, it show the error:
«No overload for ‘method’ matches delegate ‘System.EventHandler’
6 Answers 6
The signature of the event-handler method isn’t compatible with the delegate type.
Subsribers to the DispatcherTimer.Tick event must be of the EventHandler delegate type, which is declared as:
Try this instead:
If you using Windows phone 8.1 then you need the following
Method OnTimed has to declared like this:
I know it might be a little bit late, but i just wanted to throw in a bit more for anyone with this problem:
solves the Problem.
It can also be written like this: timer.Tick += Method;
Dispatcher.Tick is simple EventHandler:
public event EventHandler Tick;
So EventHandler parameters should be:
Looks like you a bit overlooked around the System.Timers.Timer.Elapsed event which is:
In my case I was using a custom winforms control for digitalPersona fingerprint recognition.
When I tried to overload the ‘OnComplete’ method it would come up with ‘No overload. ‘
This is what it looked like.
I looked into the assembly and I noticed that third parameter had the ‘ref’ keyword attached to it. I added it in my code and it worked:
Почему я получаю ошибку Нет перегрузки для . соответствует делегату?
Затем я вызываю этот метод в двух местах в форме1 как в событиях с кнопками:
Ошибка, которую я получаю, находится в этом методе в форме1:
Ошибка включена: новый ThreadStart (DoRequest)
Ошибка 1 Нет перегрузки для ‘DoRequest’ соответствует делегату ‘System.Threading.ThreadStart’
Как я могу решить эту ошибку?
2 ответа
Конструктор ThreadStart ожидает, что делегат возвращает void и не принимает аргументов. Ошибка Error 1 No overload for ‘DoRequest’ matches delegate ‘System.Threading.ThreadStart’ означает, что подпись метода для DoRequest не соответствует сигнатуре, определенной делегатом ThreadStart . Это будет похоже на то, что вы передаете строку в метод, которому нужен двойной.
А затем отредактируйте метод DoRequest, чтобы ожидать объект, который вы затем можете выполнить:
C нет перегруженного метода который соответствует делегату
Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.11.2006
Репутация: нет
Всего: нет
День добрый.
Мне нужно чтобы мое приложение определяло активно оно в данный момент или нет.
Допустим открыта моя прога и блокнот. Если выбрана моя прога то заголовок у нее меняестся на "Активна", а если блокнот то на "Не активна".
Спс.
Это сообщение отредактировал(а) Dazzle — 29.4.2010, 16:41
Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск
Репутация: 5
Всего: 38
| Код |
| public partial class Form1 : Form < public Form1() < InitializeComponent(); this.Activated += new EventHandler(Form1_Activated); this.Deactivate += new EventHandler(Form1_Deactivate); > |
void Form1_Deactivate(object sender, EventArgs e)
<
this.Text = "Неактивна";
>
void Form1_Activated(object sender, EventArgs e)
<
this.Text = "Активна";
>
>
Это сообщение отредактировал(а) KelTron — 29.4.2010, 12:03
Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.11.2006
Репутация: нет
Всего: нет
Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net
Репутация: 1
Всего: 9
| Код |
| private void Form1_MouseMove(object sender, MouseEventArgs e) < this.Text = e.X.ToString(); > |
Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.11.2006
Репутация: нет
Всего: нет
По идее должно работать, в vb точно такой метод работает, но тут что-то не хочет даже когда форма активна. (
Пробовал вставить в private void InitializeComponent()
| Код |
| this.MouseMove += new System.EventHandler(this.Form1_MouseMove); |
но C# заругался "Нет перегруженного метода для "Form1_MouseMove", который соответствует делегату "System.EventHandler" D:\Dazzle\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.Designer.cs"
Это сообщение отредактировал(а) Dazzle — 29.4.2010, 17:51
Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net
Репутация: 1
Всего: 9
| Код |
| public Form1() < InitializeComponent(); this.MouseMove += new MouseEventHandler(Form1_MouseMove); > |
Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.11.2006
Репутация: нет
Всего: нет
- Что же такое .NET? Краткое описание,изучаем.
- Какой язык программирования выбрать? выбираем.
- C#. С чего начать? начинаем.
- Защита исходного кода .NET приложений, защищаем.
- Литература по .NET, обращаемся.
- FAQ раздела,ищем здесь.
- Архиполезные ссылки:www.connectionstrings.com, www.pinvoke.net, www.codeproject.com
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
[ Время генерации скрипта: 0.1041 ] [ Использовано запросов: 21 ] [ GZIP включён ]