В настоящее время я создаю интернет-магазин на winform в c #.

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

Я сгруппировал свои переключатели в групповом поле и хотел бы знать, есть ли что-нибудь, эквивалентное команде 'SelectedIndex' для всех переключателей? Спасибо.

0
TheBiz 25 Апр 2017 в 00:44

2 ответа

Лучший ответ

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

Класс формы

public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
    }

    private void radioButtons_CheckedChanged(object sender, EventArgs e)
    {
        //Do whatever you need to do here. I'm simple setting some text based off
        //the name of the checked radio button.

        System.Windows.Forms.RadioButton rb = (sender as System.Windows.Forms.RadioButton);
        textBox1.Text = $"{rb.Name} is checked!";
    }
}

В файле .designer.cs

//Note that the EventHandler for each is the same.
this.radioButton3.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged);
this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged);
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged);
0
Broots Waymb 24 Апр 2017 в 22:04

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

    private void checkBox_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox checkBoxControl = (CheckBox) sender; // You can use this variable to see which one of the checkbox is checked.
    }
0
OmerCD 24 Апр 2017 в 22:03
43598218