Я разрабатываю проект в вдовах C# .net. В форме у меня есть более 8 команд управления со списком. Я загружу данные в combobox2, когда выбор combobox1 будет изменен, как показано ниже.Метод передачи как параметр другому методу
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox2.DataSource = DataTable;
comboBox2.DisplayMember="Name";
comboBox2.ValueMember = "ID";
}
Combobox3 будет загружен, когда я выберу combobox2, как показано ниже.
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox3.DataSource = DataTable;
comboBox3.DisplayMember = "Age";
comboBox3.ValueMember = "AgeCode";
}
Как я буду загружать данные в остальную часть combobox.
Проблема здесь возникает ошибка, если я не зарегистрировал метод comboBox1_SelectedIndexChanged
, загружен ли comboBox2 или нет.
Я знаю, что мы можем проверить это с помощью логической переменной, но ужасно то, что нам нужно поддерживать ее «истинное/ложное» состояние для всех остальных методов.
так, что я думал, чтобы исправить это простой способ, что я буду использовать метод Add(combobox, Methodname)
и Remove(combobox, method)
методы для добавления и удаления в comboBox_SelectedIndexChanged
функцию от SelectedIndexChanged
события поле со списком.
Но я не мог передать метод как параметр. Может ли кто-нибудь сказать мне, как передать метод в качестве параметра для моего требования.
Посмотрите на 'Func' и' Action' –
Проверьте этот ответ http://stackoverflow.com/a/2082650/182344 – RredCat
Вы можете передать делегаты в качестве параметров. Но я не думаю, что это решит вашу проблему. –