Diskuze: Přehlednost a zkrácení kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
To pošli sem, když to nechceš veřejně tak PM.
namespace Dopňovací_cvičení
{
public partial class Form1 : Form
{
string spravne = "správně";
string spatně = "špatně";
public Form1()
{
InitializeComponent();
comboBox1.Items.Add("P");
comboBox1.Items.Add("p");
comboBox2.Items.Add("V");
comboBox2.Items.Add("v");
//skore
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
// COMBOBOXY
private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
{
if (comboBox1.SelectedItem == "P")
{
comboBox1.BackColor = Color.FromArgb(0, 255, 0);
comboBox1.Enabled = false;
label2.Text = spravne;
label2.ForeColor = Color.FromArgb(0, 255, 0);
}
else if (comboBox1.SelectedItem == "p")
{
comboBox1.BackColor = Color.FromArgb(255, 0, 0);
comboBox1.Enabled = false;
label2.Text = spatně;
label2.ForeColor = Color.FromArgb(255, 0, 0);
}
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.SelectedItem == "V")
{
comboBox2.BackColor = Color.FromArgb(0, 255, 0);
comboBox2.Enabled = false;
label3.Text = spravne;
label3.ForeColor = Color.FromArgb(0, 255, 0);
}
else if (comboBox2.SelectedItem == "v")
{
comboBox2.BackColor = Color.FromArgb(255, 0, 0);
comboBox2.Enabled = false;
label3.Text = spatně;
label3.ForeColor = Color.FromArgb(255, 0, 0);
}
}
}
}
Například se mi zdá chaotické ke každému comboboxu přídávat tu
podmínku.. Chtěl bych aby se vždycky akorát změnilo číslo labelu a
comboboxu. Je to vlastně jednoduchá aplikace kde je text a místo písmenka je
combobox a uživatel má doplnit velké nebo malé písmeno
comboBox2.BackColor = Color.FromArgb(255, 0, 0);
comboBox2.Enabled = false;
label3.Text = spatně;
label3.ForeColor = Color.FromArgb(255, 0, 0);
můžeš vrazit do funkce a pak používat jen tu funkci
public Form1()
{
InitializeComponent();
...
HandleCombobox(comboBox1, label2, "P");
HandleCombobox(comboBox2, label3, "V");
}
private void HandleCombobox(ComboBox combobox, Label label, string goodAnswer)
{
combobox.SelectedIndexChanged += (comb, e) =>
{
if (combobox.SelectedItem == goodAnswer)
{
combobox.BackColor = Color.FromArgb(0, 255, 0);
combobox.Enabled = false;
label.Text = spravne;
label.ForeColor = Color.FromArgb(0, 255, 0);
}
else
{
combobox.BackColor = Color.FromArgb(255, 0, 0);
combobox.Enabled = false;
label.Text = spatne;
label.ForeColor = Color.FromArgb(255, 0, 0);
}
};
}
Zobrazeno 5 zpráv z 5.