Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/43: Рейтинг темы: голосов - 43, средняя оценка - 4.79
 Аватар для irineyxxx
151 / 53 / 11
Регистрация: 18.09.2011
Сообщений: 730

Изменить свойства нескольких кнопок на форме

28.01.2012, 04:11. Показов 9352. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим в форме Windows Forms имеется 20 кнопок, можно ли как-нибудь пройтись как бы циклом for по ним, названия у них:
button1, button2 и т.п.

Главная задача такая, если выбрана кнопка допустим button1, то button1.ForeColor = Color.Green, а остальные сделать ForeColor = Color.Gray;

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                #region Color
                button11.Enabled = true;
                button11.ForeColor = Color.Cyan;
                button1.Enabled = false;
                button2.Enabled = false;
                button3.Enabled = false;
                button4.Enabled = false;
                button5.Enabled = false;
                button6.Enabled = false;
                button7.Enabled = false;
                button8.Enabled = false;
                button9.Enabled = false;
                button10.Enabled = false;
                button12.Enabled = false;
                #endregion
Пожалуйста, только не так - это тупо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2012, 04:11
Ответы с готовыми решениями:

свойства кнопок
как сбросить настройки кнопки к установленным при запуске кнопки, т.е. я один раз использую кнопку через делегат, и после повторного...

Как изменить свойства нескольких кнопок в TabControl?
Код ниже срабатывает только на кнопки находящиеся непосредственно на форме, а на кнопки находящиеся в TabControl, а именно на TabPages -...

Обработка нескольких кнопок в одной форме
Есть несколько групп radiobutton. Нужно, когда пользователь выберет комбинацию кнопок, обработать их. Подскажите как одновременно...

3
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
28.01.2012, 04:54
Как то так
C#
1
2
3
4
5
6
7
8
9
10
11
 foreach (Control control in this.Controls)
            {
                if (control.GetType().ToString()== "System.Windows.Forms.Button" )  
                {
                    if(control.Enabled ==true) 
                    {
                     control.ForeColor = Color.Cyan;
                    }
                    else control.ForeColor = Color.Gray;
                }
            }
1
 Аватар для Mikant
1322 / 995 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
28.01.2012, 17:34
Лучший ответ Сообщение было отмечено как решение

Решение

вот так делать никогда не надо - это и рефлексия и завязка на какой-то константе в рантайме
C#
1
if (control.GetType().ToString() == "System.Windows.Forms.Button")
и даже так делать не надо - всё равно, используется рефлексия GetType()
C#
1
if (control.GetType() == typeof(Button))
а надо делать или так, что в сотни раз быстрее
C#
1
if (control is Button)
или использовать метод расширения OfType и забыть про эту проверку вообще
C#
1
foreach (Button button in this.Controls.OfType<Button>())
7
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
28.01.2012, 18:41
Спасибо критику учту !
Я и сам не знал как это делать ,просто методом тыка с помощью IntelliSense через точку первые попавшие свойства и методы выбрал и накидал . Перевод в стринг самому не нравился и подозревал что далеко не лучший способ.
Думаю остановимся на таком варианте:
C#
1
2
3
foreach (Control control in this.Controls)
if (control is Button)
control.ForeColor =control.Enabled ==true? Color.Cyan: Color.Gray;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2012, 18:41
Помогаю со студенческими работами здесь

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

Обработка нескольких кнопок, находящихся на одной форме.
Здравствуйте!Скажите пожалуйста, как можно обработать несколько кнопок(button) на одной форме?К примеру что-бы одна кнопка добавляла в...

Как изменить свойства сразу у нескольких компонентов
void __fastcall TForm1::Button3Click(TObject *Sender) { Edit4-&gt;Text = Edit4-&gt;Text +Button3-&gt;Caption; } ...

Изменить цвет кнопок на другой форме
Подскажите, пожалуйста, как сделать так... К примеру, я нажимаю на command1, расположенную на form2, как сделать так, чтобы при нажатии на...

Как изменить свойства однотипных PictureBox на нескольких формах
Задача следующая: Есть три формы, на этих формах находятся однотипные компоненты к примеру PictureBox с одинаковым Name. На одной из форм...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru