chaitanya556 Ответов: 1

Установите mouse enter и mouse leave events для нескольких меток с одним событием в элементе управления вкладками (windows forms)


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

Что я уже пробовал:

private void linkLabel24_MouseEnter(object sender, EventArgs e)
        {
            linkLabel24.Font = new Font(linkLabel24.Font.Name, 10, FontStyle.Bold);
        }


private void linkLabel24_MouseLeave(object sender, EventArgs e)
       {
           linkLabel24.Font = new Font(linkLabel24.Font.Name, 10, FontStyle.Regular);
       }

1 Ответов

Рейтинг:
7

Karthik_Mahalingam

пробовать

private void Form1_Load(object sender, EventArgs e)
      {
          foreach (TabPage tab in tabControl1.Controls)
          {
              foreach (Label lbl in tab.Controls.OfType<Label>())
              {
                  lbl.MouseEnter += lbl_MouseEnter;
                  lbl.MouseLeave += lbl_MouseLeave;
              }
          }
      }

      void lbl_MouseLeave(object sender, EventArgs e)
      {
          Label lbl = (Label)sender;
          lbl.Font = new Font(lbl.Font.Name, 10, FontStyle.Regular);
      }

      void lbl_MouseEnter(object sender, EventArgs e)
      {
          Label lbl = (Label)sender;
          lbl.Font = new Font(lbl.Font.Name, 10, FontStyle.Bold);
      }


chaitanya556

во вкладках.Управления.OfType() OfType не приходит

Karthik_Mahalingam

добавить это

using System.Collections.Generic;

chaitanya556

У меня уже есть это

Karthik_Mahalingam

Система Помощью.в LINQ;

chaitanya556

Привет, использование Linq сработало. но мои элементы управления-это даже больше, чем управление вкладками, есть панели и элементы списка. я попробовал ваш код, его сборка была успешной, но никакого изменения стиля шрифта там не было. поэтому я попытался заставить мышь уйти и мышь войти в события
lbl_MouseLeave недействительным(объект отправителя, EventArgs в электронной)
{
Метка lbl = (метка)отправитель;
ЛБЛ.Font = новый шрифт(lbl.Font.Name, 10, FontStyle.Регулярный);
}

lbl_MouseEnter недействительным(объект отправителя, EventArgs в электронной)
{
Метка lbl = (метка)отправитель;
ЛБЛ.Font = новый шрифт(lbl.Font.Name, 10, FontStyle.Жирный);
}
и вставил эти события в свойства меток в виде дизайна. это сработало.

Спасибо :)

Karthik_Mahalingam

добро пожаловать, если работает, Пожалуйста, закройте этот пост, нажав кнопку "Принять ответ"