Вызов функции timer_tick не дает мне перегрузки для 'timer2_Tick', соответствует делегату 'EventHandler' - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь дать ярлык как эффект фонарика. Я создал функцию под названием flashlight. Вот некоторая часть кода

public void Flashlight(Label lable)
{
    Random rand = new Random();
    int one = rand.Next(0, 255);
    int two = rand.Next(0, 255);
    int three = rand.Next(0, 255);
    int four = rand.Next(0, 255);

    lable.ForeColor = Color.FromArgb(one, two, three, four);
}

public Form1()
{
    InitializeComponent();
    pictureBox2.Size = new Size(82, 82);
    pictureBox3.Size = new Size(82, 82);
    pictureBox3.Enabled = false;
    timer2.Tick += (sender, args) => timer2_Tick(sender, args, label1);
}

private void timer2_Tick(object sender, EventArgs e,Label l)
{
    Flashlight(l);
}

Может кто-нибудь сказать мне, что мне здесь не хватает? это часть кода, в которой я застрял. Я получаю сообщение об ошибке

CS0123 Нет перегрузки для 'timer2_Tick' соответствует делегату 'EventHandler'

1 Ответ

2 голосов
/ 09 апреля 2020

Найдите timer2_Tick где-то еще в вашем коде, оно должно быть внутри Form1.Designer.cs, а затем удалите его, потому что вы уже объявили его, дважды щелкнув по таймеру. Поэтому вам нужно удалить следующую строку после того, как вы ее нашли:

this.timer2.Tick += new System.EventHandler(this.timer2_Tick);

В качестве более короткого пути, чтобы найти эту строку, после того, как вы перестроили свой проект и затем в окне списка Error дважды щелкните по ошибке, которая говорит:

CS0123 Нет перегрузки для 'timer2_Tick' соответствует делегату 'EventHandler'

И затем удалите эту строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...