В настоящее время я создаю интернет-магазин на winform в c #.
В данный момент я создаю текстовое поле, связанное с «корзиной покупок», в котором, если пользователь нажимает на определенную радиокнопку, текстовое поле отображает описание продукта в текстовом поле.
Я сгруппировал свои переключатели в групповом поле и хотел бы знать, есть ли что-нибудь, эквивалентное команде 'SelectedIndex' для всех переключателей? Спасибо.
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);
Если вы хотите иметь возможность выбирать более одной радиокнопки одновременно, я предлагаю вам использовать флажки вместо радиокнопок. Вы можете назначить все их события одному и тому же событию и контролировать, какие из флажков отмечены.
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.
}
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.