Мне нужно создать пользовательский comboboxitem, который я могу обработать среди других элементов управления, которые наследуют класс System.Windows.Forms.Control. Поэтому мой comboboxitem должен наследовать System.Windows.Forms.Control, потому что я использую приведение к этому типу и ссылаюсь на свойство Text с циклом. Есть несколько сообщений о том, как создать пользовательский элемент, но тот наследует класс Object, который не работает для меня? ? Я пытался, но оно не работает Вот моя попытка:Как создать пользовательский C# ComboBoxItem, который наследует System.Windows.Forms.Control? если возможно?
public class ComboItem : System.Windows.Forms.Control
{
public object Value { get; set; }
public override string Text { get; set; }
// public object Value { get; set; }
public ComboItem(string text) { this.Text = text; }
public ComboItem(string text, string value) { this.Text = text; this.Value = value; }
public override string ToString()
{
return Text;
}
}
ничего не отображается в выпадающем списке после выполнения кода
private void Form1_Load(object sender, EventArgs e)
{
ComboItem asd = new ComboItem("qweqwwqeq");
ComboItem asd2 = new ComboItem("2222222");
comboBox1.Items.Add(asd);
comboBox1.Items.Add(asd2);
comboBox1.SelectedIndex = 1;
}
это контекст, в котором я должен использовать:
System.Windows.Forms.Control ctrl = (System.Windows.Forms.Control)asd["Kontrola"];
ctrl.Text = (String)asd["Engleski"];
Вы понимаете, что такое «Контроль»? Непонятно, чего вы пытаетесь достичь. Почему вы наследуете ComboboxItem от 'Control'? –
_Почему на земле вы наследовали ComboboxItem из Control? _ Действительный вопрос. OTOH: Почему бы и нет? Использование классов для ComboBox Элементы вполне нормальные, и ComboBoxItems - это хорошее место для хранения нескольких элементов управления как любой, можно предположить. Класс имеет метод ToString, поэтому почему ничего не отображается? Помимо отсутствующей строки displayString элементы управления из элементов combobox работают очень хорошо: вы можете добавить их в форму и использовать их. – TaW
@TaW Что значит? Я не против использования класса ComboBoxItem, почему вам нужно наследовать его из-под контроля? Если вам вообще нужно сохранить некоторый элемент управления, вы можете обернуть его в свой класс. Наследование от 'Control' не имеет смысла. –