ComboBox ValueMember и DisplayMember без базы данных
Всем привет.
Мне немного трудно найти где-нибудь ответ на этот вопрос.
Я думаю, что простой ответ "Да/нет" может сделать меня счастливым, если нет ничего лучше. Но для этого, вероятно, я должен объяснить каждую частицу того, что я хочу:
У меня есть combobox, который я хочу, чтобы он был заполнен и отображал имена всех файлов в выбранном каталоге или многих других, но при выборе элемента в combobox он возвращает весь путь к файлу. Я чувствую, что должен объяснить больше функциональности combobox и/или программы, так что это оправдано, почему я не думаю, что использование базы данных-это хорошая идея, но это, вероятно, будет много бесполезных слов, поэтому я ограничусь тем, что скажу, что я не буду использовать базу данных, потому что это было бы слишком медленно для этой цели.
Затем, наконец, мой вопрос заключается в следующем: Есть ли более простой способ иметь элемент отображения и элемент значения внутри combobox без базы данных, строки подключения и т. д.?
Чтобы сделать это быстрее, у меня была такая идея кода, поэтому, если ответ будет отрицательным, а также ответ будет более простым и/или быстрым/оптимальным для кода, чем этот, я буду очень признателен за подсказку (и фрагмент кода).
Private ColPaths() As String Private ColSelPath As String Private Sub FillCboBox() For Each Str As String In Directory.GetFiles(InteractiveMap.GalleriesPath, _ "*.lst", SearchOption.AllDirectories) cboCollection.Items.Add(Path.GetFileNameWithoutExtension(Str)) ReDim Preserve ColPaths(cboCollection.Items.Count - 1) ColPaths(cboCollection.Items.Count - 1) = Str Next End Sub Private Sub cboCollection_SelectedIndexChanged(sender As Object, e As EventArgs) _ Handles cboCollection.SelectedIndexChanged ColSelPath = ColPaths(cboCollection.SelectedIndex) End Sub
Я должен добавить, что это только один из 3 различных comboboxes, которые я хочу заполнить и использовать с очень похожим методом, если только один из них не связан с содержимым текстового файла(легко редактируемого пользователем вручную, если это необходимо), а другой-с комбинацией файлов/путей и содержимым одного и того же типа редактируемых текстовых файлов, что является одной из многих причин того, почему база данных не будет работать для меня.
PS. Я новичок на этом сайте, поэтому пока не знаю, как здесь все работает, я предполагаю, что это похоже на другие форумы, но я видел некоторые разные и очень интересные вещи (например, рабочее пространство). Как бы то ни было, именно из-за этого я хочу спросить вас о "предварительном просмотре", показанном ниже здесь, в текстовом редакторе, я не вижу ничего, кроме прямоугольника оранжевой линии с "..." в нем.
Разве мой браузер (chrome) не подходит для работы здесь? это сайт? или что бы это могло быть? (извините, если этот вопрос не в правильном месте)
ПС2. Этот код находится в vb.net но я приветствую на C# ответы тоже.
Я работаю в VS2013 и в рамках этого проекта (из-за его простоты и того, что я хочу, чтобы он был очень совместим) его 2.0
Наконец, извините за мой ужасный английский и заранее благодарю вас.
Аslam Iqbal
Поле со списком.Значение Drawmode = Значение Drawmode.OwnerDrawFixed;
эта строка отвечает за отображение имени объекта вместо ожидаемого значения в combobox в моем случае.