Czemu?
if (radioBtn.Enabled == true)
a nie
if (radioBtn.Checked == true)
spróbuj np. iterując po radioButton-ach
public void liczenie()
{
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
foreach (RadioButton radioButton in new RadioButton[] { radioButton1, radioButton2, radioButton3 })
{
if (radioButton.Checked == true)
{
switch (radioButton.Name)
{
case "radioButton1":
textBox1.Text = zmienna[0];
break;
case "radioButton2":
textBox1.Text = zmienna[1];
break;
case "radioButton3":
textBox1.Text = zmienna[2];
break;
}
}
}
}
lub np.
public void liczenie()
{
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
foreach (RadioButton radioButton in new RadioButton[] { radioButton1, radioButton2, radioButton3 })
{
if (radioButton.Checked == true)
{
int index = -1;
switch (radioButton.Name)
{
case "radioButton1": index = 0; break;
case "radioButton2": index = 1; break;
case "radioButton3": index = 2; break;
}
if (index > -1) textBox1.Text = zmienna[index];
}
}
}
możesz też np.
public void liczenie()
{
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
RadioButton[] radioButtons = { radioButton1, radioButton2, radioButton3 };
for (int i=0; i<radioButtons.Length; i++)
{
if (radioButtons[i].Checked == true)
{
textBox1.Text = zmienna[i];
}
}
}
możesz też spróbować wykorzystać radioButton.TabIndex
public void liczenie()
{
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
foreach (RadioButton radioButton in new RadioButton[] { radioButton1, radioButton2, radioButton3 })
{
if (radioButton.Checked == true)
{
textBox1.Text = zmienna[radioButton.TabIndex];
}
}
}
możesz też tak jak już Tobie @Velta; sugerował użyć Linq, np.
public void liczenie()
{
RadioButton radioButton = Controls.OfType<RadioButton>()
.Where(control => control.Checked)
.FirstOrDefault();
if (radioButton != null)
{
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
textBox1.Text = zmienna[radioButton.TabIndex];
}
}
możesz też spróbować wykorzystać radioButton.Tag
public Form1()
{
InitializeComponent();
string[] zmienna = new string[] { "rB1", "rB2", "rB3" };
RadioButton[] radioButtons = { radioButton1, radioButton2, radioButton3 };
for (int i=0; i<radioButtons.Length; i++)
radioButtons[i].Tag = zmienna[i];
}
private void liczenie()
{
RadioButton radioButton = Controls.OfType<RadioButton>()
.Where(control => control.Checked)
.FirstOrDefault();
if (radioButton != null)
textBox1.Text = (string)radioButton.Tag;
}