ComboBox를 채우는 데 사용하려고하는 다음 코드가 있지만 추가 할 개체의 실제 텍스트가 표시되지 않습니다.ComboBox에 텍스트가 표시되지 않습니다.
internal partial class SortBox : UserControl {
private Field[] FieldReferences
...
internal Field[] Fields {
...
set {
this.FieldReferences = value;
this.cboFields.Items.Clear();
string NoneString = "(none)";
this.cboFields.Items.Add(NoneString);
this.cboFields.SelectedItem = NoneString;
foreach (Field Field in this.FieldReferences) {
MessageBox.Show(Field.ToString()); // <- This displays what I want displayed perfectly.
this.cboFields.Items.Add(Field);
}
}
}
...
}
public partial class Field : UserControl {
protected string LabelValue;
...
public override string ToString() {
return this.LabelValue;
}
}
내가 얻은 것은 다음과 같습니다. 그들은 모두 빈 위치 : 내가 무슨 일을
을하고 있는가?
편집 : 필자의 Field 클래스는 UserControl에서 상속됩니다. 몇 가지 테스트를했는데 클래스가 System.ComponentModel.Component에서 상속한다는 사실과 관련이있는 것 같습니다.
몇 가지 사소한 문제가 있습니다. DropDownStyle이 DropDownList 인 경우에만 작동합니다 (어쨌든 내가 필요로하는 것임). 그렇지 않으면 목록이 채워지지만 실제로 선택한 항목은 비어있게됩니다. 또한,'Brushes.Black' 대신'새로운 SolidBrush (e.ForeColor) '를 사용했습니다. 현상금을 받는다. –