Добрый день. Нужна помощь в правильном заполнении комбобоксов на форме.
Есть задача реализовать заполнение первого комбобокса в зависимости от того, что выбрано в первом.
В первом комбобоксе у меня список стран( штук 10 не больше) а во втором столица страны и пару других городов.
Я сейчас делаю так.
Во время загрузки формы считываю список стран из файла.
private void Form1_Load(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(@"countries.txt");
string line = sr.ReadLine();
while (line != null)
{
cbCountries.Items.Add(line);
line = sr.ReadLine();
}
}
catch (Exception ex)
{
MessageBox.Show("Файл с списком стран недоступен!!\n" + ex.Message);
}
А второй комбобокс у меня заполняется так.
private void cbСities_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbCountries.SelectedIndex == 0) // Польша
{
cbСities.Items.Add("Варшава");
cbСities.Items.Add("Краков");
cbСities.Items.Add("Катовице");
}
if (cbCountries.SelectedIndex == 1) //Россия
{
cbСities.Items.Clear();
cbСities.Items.Add("Ростов");
cbСities.Items.Add("Москва");
cbСities.Items.Add("Новосибирск");
}
if (cbCountries.SelectedIndex == 2) // США
{
cbСities.Items.Clear();
cbСities.Items.Add("Вашингтон");
cbСities.Items.Add("Нью Йорк");
cbСities.Items.Add("Лос Анджелес");
}
}
Но я думаю, что я не правильно делаю с точки зрения кода. Слишком много тогда надо if если список мой будет не 10 стран а 100.
Как правильно его заполнить? В идеале что бы из файла все заполнялось.