Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.10.2010, 19:14   #1
Riddle
Новичок
 
Регистрация: 12.10.2010
Сообщений: 2
Репутация: 10
Сообщение Элемент Radiobutton C#

Доброго время суток, возможно для кого то мой вопрос покажется элементарным, но все с чего-то начинали. И так...я пишу простенькое приложение для Windows на си шарп. Вопрос заключается в следующем: объединённые в GroupBox элементы Radiobutton, необходимо раелизовать так, чтобы после выбора одного из них высплывал MessageBox.

Вот фрагмент моего кода:

private void_radioButton1CheckedChanged(obj ect sender, EventArgs e)
{
if (radioButton1.Checked == true)
MessageBox.Show("Не верно!");
}

Проблема в том, что изначально на форме первый radioButton1 уже отмечен, и окно сообщения появляется сразу, хотя свойство Checked в конструкторе установлено False, остальные работают правильно, а вот с самым первым проблема, при чём, если его удалить, то отметка по умолчанию переносится на один ниже, и так далее, т.о. открываешь форму и уже появляется сообщение, хотя должно было только после выбора одного из компонентов radioButton, как от этого избавиться?

Заранее спасибо за помощь. =)
Riddle вне форума   Ответить с цитированием
Старый 12.10.2010, 19:40   #2
HellchilD
 
Регистрация: 01.11.2009
Адрес: Ростов-на-Дону
Сообщений: 8
Репутация: 10

icq: 246580852
skype: Hellch1lD
По умолчанию

попробуйте сделать баттон, который изначально отмечен "пустым" и невидимым, пользователь его не будет видеть и не сможет нажать, и сообщение выдаваться не будет
HellchilD вне форума   Ответить с цитированием
Старый 12.10.2010, 20:01   #3
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Адрес: с Новая Деревня (Ставропольского края)
Сообщений: 224
Репутация: 21
По умолчанию

А попробуй использовать другой компонент (*я не знаю С#) но в билдере С++ есть компонент RadioGroup - панель группы радиокнопок.
__________________
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума   Ответить с цитированием
Старый 12.10.2010, 21:43   #4
THRASHER
 
Регистрация: 12.10.2010
Адрес: Калуга
Сообщений: 4
Репутация: 10

icq: 408-498-192
По умолчанию

а событие онКлик не катит?
__________________
вам бы сказки писать, господа студенты, а не программы! (с)
THRASHER вне форума   Ответить с цитированием
Старый 12.10.2010, 21:48   #5
BOBAH13
Android Developer
ПрофессионалФорумчанин
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Адрес: Los Angeles, USA
Сообщений: 3,708
Репутация: 1457
По умолчанию

Не понятно это Windows Forms или WPF, ну не знаю что там в Windows Forms попробуйте следующие свойства у объекта Window/Form/Control (и т.д.) подобные как IsLoaded, IsInitialized. Т.е. они именно определят, либо это уже событие после инициализации окна (и всех его включающих элементов) либо это стадия инициализации.
__________________
Home | Android for food | XWindows Dock | github
BOBAH13 вне форума   Ответить с цитированием
Старый 12.10.2010, 23:16   #6
Casper-SC
Участник клуба
 
Регистрация: 04.07.2007
Адрес: Россия
Сообщений: 549
Репутация: 134

icq: 438116304
По умолчанию

У самого были подобные проблемы, только в WPF.
Вот решение для WInForms:
Код:

namespace WinForms_RadioButton
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();            
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            // if (radioButton1.Checked == true) писать не обязательно. Так как по умолчанию проверяется истинность условия.
            if (radioButton1.Checked) 
                MessageBox.Show("radioButton1!");
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
                MessageBox.Show("radioButton2!");
        }

        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton3.Checked)
                MessageBox.Show("radioButton3!");
        }

        private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton4.Checked)
                MessageBox.Show("radioButton4!");

        }

        //Подписываемся на события после первого отображения формы
        //то есть, после того, как radioButton1 станет Checked
        private void Form1_Shown(object sender, EventArgs e)
        {
            //Подписываем RadioButton'ы на события
            this.radioButton1.CheckedChanged += new EventHandler(radioButton1_CheckedChanged);
            this.radioButton2.CheckedChanged += new EventHandler(radioButton2_CheckedChanged);
            this.radioButton3.CheckedChanged += new EventHandler(radioButton3_CheckedChanged);
            this.radioButton4.CheckedChanged += new EventHandler(radioButton4_CheckedChanged);
        }
    }
}

Casper-SC вне форума   Ответить с цитированием
Старый 15.10.2010, 18:30   #7
Riddle
Новичок
 
Регистрация: 12.10.2010
Сообщений: 2
Репутация: 10
По умолчанию

Спасибо всем за ответы, по всей видимости это какой то глюк Visual Studio 2008, онКлик работал также, и скрытый Radiobutton тоже не проходил, и код тоже не помог, выход из положения был найден путём введения кнопки "Проверить", которая выдавала Мэсэджбокс и непосредственно обрабатывала события нажат или не нажат Radiobutton.
Riddle вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RadioButton 29_kapaT Компоненты Delphi 1 10.05.2010 03:30
radiobutton xxxn00bxxx Общие вопросы C/C++ 8 25.02.2010 09:06
radiobutton Bon'ka Компоненты Delphi 4 16.05.2009 21:56
RadioButton Pavelok Общие вопросы Delphi 3 14.05.2009 14:05
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 07:30


13:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru