Как я могу создать выпадающее меню в C # - PullRequest
0 голосов
/ 20 сентября 2018

Может ли кто-нибудь помочь мне с моей проблемой в выпадающем меню?

У меня есть 4 кнопки на панели.Размер каждой кнопки 132, 29.Моя проблема в том, что когда я наводю мышь на кнопку, ничего не происходит.

int t1 = 29;
private void pnlFeature_MouseHover(object sender, EventArgs e)
{
    timer1.Start();
}

private void pnlFeature_MouseLeave(object sender, EventArgs e)
{
    timer1.Stop();
    t1 = 29;
}

private void timer1_Tick(object sender, EventArgs e)
{
    if (t1 > 116)
    { timer1.Stop(); }
    else
    {
        this.pnlFeature.Size = new Size(this.pnlFeature.Size.Width, t1);
        t1 += 4;
    }
}

private void frmMain_MouseHover(object sender, EventArgs e)
{
    this.pnlFeature.Size = new Size(this.pnlFeature.Size.Width, t1);
} 

1 Ответ

0 голосов
/ 20 сентября 2018

Потому что вы двигаете мышь на кнопках, а не на объекте панели.Напишите обработчик события наведения мыши для одной из кнопок и назначьте его всем четырем кнопкам обработчиков событий «MouseHover», и в вашем коде вы можете найти мышь, на которую наведена кнопка:

private void button1_MouseHover(object sender, EventArgs e)
{
    if (!(sender is Button))
        return;

    Button tmp = (Button) sender;

    switch (tmp.Name)
    {
        case "Button1":
            break;
        case "Button2":
            break;
        case "Button3":
            break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...