C# Windows applications

I am developing a project in C# Windows applications(win form) in that I need to create a function to change the back color for all the buttons that are in the single Win Form using button mouse over event

1
задан Lawrance Rozario 26 August 2010 в 14:04
поделиться

3 ответа

Изменение всех элементов управления типа Button:

for (int i = 0; i < Controls.Count; i++)
            if (Controls[i] is Button) Controls[i].BackColor = Color.Blue;

Пример хуков:

MouseEnter += new EventHandler(delegate(object sender, EventArgs e)
    {
        SetButtonColour(Color.Blue);
    });

MouseLeave += new EventHandler(delegate(object sender, EventArgs e)
    {
        SetButtonColour(Color.Red);
    });

public void SetButtonColour(Color colour)
    {
        for (int i = 0; i < Controls.Count; i++)
            if (Controls[i] is Button) Controls[i].BackColor = Color.Blue;
    }
2
ответ дан 2 September 2019 в 21:50
поделиться

Что-то вроде этого:

public partial class Form1 : Form
{
    Color defaultColor;
    Color hoverColor = Color.Orange;

    public Form1()
    {
        InitializeComponent();
        defaultColor = button1.BackColor;
    }

    private void Form1_MouseHover(object sender, EventArgs e)
    {
        foreach (Control ctrl in this.Controls)
        {
            if (ctrl is Button)
            {
                ctrl.BackColor = hoverColor;
            }
        }
    }

    private void Form1_MouseLeave(object sender, EventArgs e)
    {
        foreach (Control ctrl in this.Controls)
        {
            if (ctrl is Button)
            {
                ctrl.BackColor = defaultColor;
            }
        }
    }
}
0
ответ дан 2 September 2019 в 21:50
поделиться

Если вы просто меняете собственное приложение, это не так сложно.

В событии наведения курсора мыши просто переберите свойство Controls формы и для всех элементов, которые являются Button, измените цвет фона. Возможно, вам нужно будет написать рекурсивную функцию, чтобы найти все кнопки, поскольку Panel (или GroupBox и т. д.) содержит свойство Controls для всех своих элементов управления.

0
ответ дан 2 September 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: