В этой заметке рассматривается процесс добавления новых текстовых элементов в ComboBox из GTK# на платформе Mono. Дело в том, что программисты, привыкшие писать на C# и добавлять новые элементы в ComboBox так просто сделать этого в Mono не смогут.
Начиная с того, что у выпадающего списка нет свойства Items, для которого всегда привычно можно было вызвать метод Add, таким образом добавив новый элемент.
Чтобы проделать такую процедуру для Combo Box в Моно, нужно выполнить следующие шаги (для примера показываем, что мы читаем это все из базы данных. CB это переменная типа ComboBox):
using (MySqlCommand cmd = newMySqlCommand(query, Connection.connection))
{
using (MySqlDataReader reader = cmd.ExecuteReader())
{
CellRendererText ct = newCellRendererText();
CB.PackStart(ct, false);
CB.AddAttribute(ct, "text", 0);
while (reader.Read())
{
CB.AppendText(reader[0].ToString());
}
}
}
Если не указать и не применить CellRenderText, то ничего работать не будет. Просто будут отображаться пустые поля в списке.
|