C # приложения для Windows - PullRequest
1 голос
/ 26 августа 2010

Я разрабатываю проект в приложениях C # для Windows (выигрышная форма), в котором мне нужно создать функцию для изменения цвета спины для всех кнопок, которые находятся в единой выигрышной форме, с помощью кнопки мыши над событием

Ответы [ 3 ]

2 голосов
/ 26 августа 2010

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

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;
    }
0 голосов
/ 26 августа 2010

Примерно так:

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 голосов
/ 26 августа 2010

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

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

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