ComboBox
Элементы содержат объекты, которые довольно тупые.
Первое, что вы должны сделать, это создать class
, может быть, как это:
class ComboItem
{
public string Text { get; set; }
public int Level { get; set; }
public ComboItem (string text, int level)
{ Text = text; Level = level; }
public override string ToString()
{
return "".PadLeft(Level) + Text;
}
}
Когда вы добавляете их, не просто добавить строку, но экземпляры нового класса:
for (int i = 0; i< 12; i++)
{
comboBox1.Items.Add(new ComboItem("Item" + i, i%3));
}
Это все; трюк состоял в том, чтобы добавить несколько пробелов в переопределение ToString
.
Вы, конечно, вытащите текст из базы данных. И это зависит от вас, чтобы обеспечить уровень каждой записи!
Вот как результат выглядит, с Consolas
как Font
:
Если вы хотите использовать владелец рисования для более утонченного внешнего вида, что это не очень трудно либо. Но сначала сначала: получите данные уровня вместе с текстом.
Если вы можете вытащить их из SQL, это было бы, вероятно, лучшим. В противном случае вам придется перебирать ваши данные, чтобы сделать небольшую группировку/подсчет.
Вы используете Winforms/WPF/ASP ..? Всегда указывайте свой вопрос с соответствующей целью? Если вы можете использовать шрифт фиксированного размера, вы можете использовать префикс с несколькими пробелами для создания эффекта. Вы должны были бы удалить их, конечно, при их использовании и т. Д. Если это не вариант, вам нужно будет провести рисование элементов. Не очень тяжело, просто убедитесь, что у вас есть уровень завершенности, возможно, в тегах элементов. – TaW
элементы добавляются динамически и сохраняются/извлекаются из базы данных, приложение формы окна –
Это не будет иметь большого значения , Начните с добавления уровней в теги и, конечно же, получив правильный порядок! – TaW