Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
6 / 6 / 3
Регистрация: 10.05.2013
Сообщений: 40
1

Разблокировка кнопки при выборе Radiobutton

25.04.2016, 13:30. Показов 7250. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть три радиобаттона, нужно чтоб кнопка была выключена, если ни один из них не выбран.

C#
1
2
3
4
5
6
7
8
9
10
11
radioButton1.Checked = radioButton2.Checked = radioButton3.Checked = false;
 
            if (radioButton1.Checked == true || radioButton2.Checked == true || radioButton1.Checked == true) 
            {
                button1.Enabled = true;
            }
 
            else
            {
               button1.Enabled = false;
            }
Вроде должно работать, но не работает. Блокирует кнопку намертво.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2016, 13:30
Ответы с готовыми решениями:

Не работает if else при выборе RadioButton
пишу приложение, суть: при выборе радиобаттона должно выполнятся условие, но ни одно из условии не...

Изменение видимости TextBox при выборе CheckBox или RadioButton
Всем привет. Нужно сделать так: если выбран чек бокс (или Р.Б) то текст бокс становился видимым, а...

Как при выборе одного из элементов ComboBox сделать так, чтобы внизу появлялись перечень RadioButton?
Добрый вечер? Есть выпадающий список, как при выборе одного из вариантов сделать так, чтобы внизу...

Как при нажатии кнопки RadioButton вызвать другую форму
Скажите, пожалуйста, как при нажатии кнопки RadioButton открывалась другая форма. Находил тему, где...

12
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 14:13 2
Используйте событие RadioButton.CheckedChanged

Подробнее:
Скажем, при инициализции формы делаете кнопку недоступной:
C#
1
2
3
4
5
public Form3()
        {
            InitializeComponent();
           button1.Enabled = false;
        }
А при изменении "выбранности" каждого радиобаттона делаете проверку и при необходимости меняете доступность кнопки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked == true || radioButton2.Checked == true || radioButton1.Checked == true)
            {
                button1.Enabled = true;
            }
 
            else
            {
                button1.Enabled = false;
            }
        }
0
103 / 104 / 54
Регистрация: 23.03.2016
Сообщений: 462
26.04.2016, 14:36 3
kioself, в чем код выполняется?

Melif,
C#
1
private void radioButton1_CheckedChanged(object sender, EventArgs e)
это нужно сделать для каждого радиобаттона, тогда уже
C#
1
2
3
4
5
6
7
8
9
if (radioButton1.Checked == true)
            {
                button1.Enabled = true;
            }
 
else
            {
                button1.Enabled = false;
            }
1
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 15:02 4
Quat1111, ну да. Я и написал:
Цитата Сообщение от Melif Посмотреть сообщение
при изменении "выбранности" каждого радиобаттона
Просто код копировать три раза неохота было
1
103 / 104 / 54
Регистрация: 23.03.2016
Сообщений: 462
26.04.2016, 15:15 5
Melif, тогда тройное сравнение для каждого ни к чему
1
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 15:16 6
Quat1111, согласен)
2
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
26.04.2016, 16:33 7
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Windows.Forms;
 
namespace WindowsF
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            button1.Enabled = false;
            radioButton1.CheckedChanged += new EventHandler(change);
            radioButton2.CheckedChanged += new EventHandler(change);
            radioButton2.CheckedChanged += new EventHandler(change);
        }
        
        private void change(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }
    }
}
0
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 16:39 8
Hastin, а если там еще есть кнопка сброса выбора?
C#
1
2
3
4
 private void button2_Click(object sender, EventArgs e)
        {
            radioButton1.Checked = radioButton2.Checked = radioButton3.Checked=false;
        }
0
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
26.04.2016, 16:43 9
В условии такого не сказано) Зачем себе геморрой создавать) так оно работает идеально)
А если на то пошло, то прямо на кнопке прописывать то что написали вы, и снизу ещё 1ну строчку :

C#
1
button1.Enabled = false;
Добавлено через 2 минуты
Вот так.
C#
1
2
3
4
5
 private void button2_Click(object sender, EventArgs e)
        {
            radioButton1.Checked = radioButton2.Checked = radioButton3.Checked=false;
            button1.Enabled = false;
        }
0
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 16:48 10
Можно и так. Принципиальных отличий на самом деле нет
можно и третий вариант: вынести все это в отдельную функцию, которая будет вызываться на событие изменение выбранности каждого радиобаттона
0
6 / 6 / 3
Регистрация: 10.05.2013
Сообщений: 40
26.04.2016, 17:46  [ТС] 11
решил чем-то вроде костыля, прикрепив на функцию клик радиобаттонов разблокировку кнопки
0
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
26.04.2016, 23:46 12
Цитата Сообщение от kioself Посмотреть сообщение
решил чем-то вроде костыля, прикрепив на функцию клик радиобаттонов разблокировку кнопки
ну можно и так, конечно. А почему вам не понравилось повесить то же самое на событие radioButton1_CheckedChanged ?
0
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
27.04.2016, 01:30 13
kioself, ну я вам так и написал выше.
0
27.04.2016, 01:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2016, 01:30
Помогаю со студенческими работами здесь

Появление кнопок при выборе RadioButton
В чем может быть ошибка? Я хочу сделать так, чтобы при включении RadioButton1 появлялась 1-я...

Обновление картинки в Image при выборе RadioButton
Всем доброго времени суток. Скажите пожалуйсто как можно сделать чтоб, когда пользователь делал...

Что передается в контроллер при выборе radiobutton?
В представлении: @{Html.BeginForm();} <h2><p>@v.Text</p></h2> ...

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru