5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
1

Как сделать чтобы при нажатии кнопки чтобы активировались все неактивные кнопки?

08.10.2018, 20:21. Показов 12803. Ответов 5
Метки нет (Все метки)

На форме имеются три кнопки.
При открытии формы кнопка "button1" становится неактивна:
C#
1
button1.Enabled = false;
Как сделать чтобы при нажатии кнопки "button2" кнопка "button2" становилась неактивна, а кнопка "button1" активна?
Также для остальных кнопок.
Т.е. нажатая кнопка становится неактивна, а неактивная кнопка становится активной
Миниатюры
Как сделать чтобы при нажатии кнопки чтобы активировались все неактивные кнопки?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2018, 20:21
Ответы с готовыми решениями:

Как сделать, чтобы при нажатии кнопки на форме открывалась другая форма?
Всем привет! Хочу, чтобы при нажатии кнопки на форме (Form1) открывалась другая, уже...

Как сделать так, чтобы при нажатии определённой кнопки производилось действие?
Как сделать так, чтобы при нажатии определённой кнопки производилось действие? Нужно сделать,...

Как сделать, чтобы при нажатии кнопки в форме, добавлялось еще несколько полей?
Мне нужно решить систему уравнений, произвольного количества. И еще вопросик, как сделать форму...

Как сделать, чтобы при нажатии кнопки на форме открывалась другая форма другого проэкта ?
Как сделать, чтобы при нажатии кнопки на форме открывалась другая форма?

5
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
08.10.2018, 20:34 2
Soft17,
C#
1
2
button1.Enable = true;
button2.Enabled = false;
1
3 / 6 / 3
Регистрация: 16.05.2018
Сообщений: 24
08.10.2018, 20:43 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void button1_Click(object sender, EventArgs e)
{
    button1.Enabled = false;
    button2.Enabled = true;
    button3.Enabled = true;
}
 
private void button2_Click(object sender, EventArgs e)
{
    button1.Enabled = true;
    button2.Enabled = false;
    button3.Enabled = true;
}
 
private void button3_Click(object sender, EventArgs e)
{
    button1.Enabled = true;
    button2.Enabled = true;
    button3.Enabled = false;
}
1
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
08.10.2018, 20:45  [ТС] 4
Понятно...
Как-то неудобно если будет кнопок 10-ть...
А если кнопки будут меняться(удаляться, добавляться), совсем неудобно
0
Эксперт .NETАвтор FAQ
10370 / 5101 / 1824
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
08.10.2018, 20:57 5
Лучший ответ Сообщение было отмечено Soft17 как решение

Решение

Цитата Сообщение от Soft17 Посмотреть сообщение
Понятно...
Как-то неудобно если будет кнопок 10-ть...
А если кнопки будут меняться(удаляться, добавляться), совсем неудобно
1) Нужно сделать модель данных, которая будет содержать данные, в том числе оттуда должно быть понятно какие кнопки должны быть активны, какие - нет. Подробнее здесь.

2) Далее, в форме нужно сделать метод UpdateInterface, примерно следующего вида:
C#
1
2
3
4
5
6
7
void UpdateInterface()
{
    btName1.Enabled = data.SomeProperty1 == someValue1;
    btName2.Enabled = data.SomeProperty2 == someValue2;
    btName3.Enabled = data.SomeCondition;
    //etc ....
}
3) В обработчиках кнопок нужно писать примерно следующий код:
C#
1
2
3
4
5
void btName1_Click()
{
    data.SomeProperty1 = someValue1;
    UpdateInterface();
}
1
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
08.10.2018, 21:07 6
Лучший ответ Сообщение было отмечено Soft17 как решение

Решение

Soft17,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
List<Button> buttons = new List<Button>(); //В класс перед 
public Form1()
        {
            InitializeComponent();
        }
 
//В Form_Load
buttons.Add(this.button1);
buttons.Add(this.button2);
buttons.Add(this.button3);
buttons.Add(this.button4);
 
 private void button4_Click(object sender, EventArgs e)
        {
           foreach (var item in buttons) if(item.Name !="button4") item.Enabled = false; //Отключит все кнопки, кроме четвертой
          
        }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2018, 21:07
Помогаю со студенческими работами здесь

Как сделать, чтобы в Form1 все компоненты скрылись при нажатии кнопки?
такой вопрос. Как сделать, чтобы в Form1 все компоненты скрылись при нажатии кнопки. Или нудно всем...

Как сделать так, чтобы при нажатии кнопки появлялся текст?Чтобы без javascript
Как сделать так, чтобы при нажатии кнопки появлялся текст? На html или php можно сделать . Типо...

Как можно сделать, чтобы при нажатии кнопки заполнялись сразу все поля?
Подскажите пожалуйста в документе есть табличная часть (номенклатура, характеристика номенклатуры...

Сделать так, чтобы при нажатии кнопки все поля в форме DBGrid заполнились
Есть форма для DBGrid, чтобы заполнить поля. Теперь мне необходимо чтобы при нажатие кнопки все...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru