ShivKrSingh Ответов: 5

как получить значение из combobox, передав его значение индекса


привет друзья,
Я хочу получить значение из combobox, когда передаю его значение индекса. например:
предположим, что в combobox есть следующее значение

Янв
Февраль
мар
апр
мочь

Я хочу, если я передам "2" в качестве значения Индекса и хочу "mar" в качестве результата, как я могу это сделать, пожалуйста, помогите мне в ближайшее время

5 Ответов

Рейтинг:
44

Shahin Khorshidnia

ComboBox имеет имеет свойство с именем Items это коллекция, и вы можете получить доступ к каждому элементу с помощью Index.

Например:

MessageBox.Show(MyCombo.Items[2].ToString());



Вы также можете использовать этот метод:

public object GetComboBoxItem(int index)
{
    if (index >= MyCombo.Items.Count)
        return null;

    return MyCombo.Items[index];
}


ProEnggSoft

+5

Shahin Khorshidnia

Большое вам спасибо ProEnggSoft

ShivKrSingh

спасибо

Shahin Khorshidnia

Пожалуйста

Рейтинг:
2

Tajuddin_HYD

Всем привет,

Его очень просто можно сделать текст из ComboBox для конкретного индекса в одну линию


myCombobox.GetItemText(myCombobox.Элементы[индекс]);



спасибо
:)


Member 10832926

Спасибо :)

Libino Giffrin

Справка : я новичок в c#.
У меня есть ComboBox.DisplayMember="Mar"; и ComboBox.ValueMember="50"; Bt значение индекса такое же, как "2";
Теперь мой вопрос: "я хочу получить значение "50"? Как добраться? Пожалуйста, помогите...

moutal

привет ,
вы решили эту проблему ??
у меня та же проблема, и я застрял на ней .. я не могу найти никакого решения для этого !

Libino Giffrin

С, я получил ответ

Member 13559666

Спасибо Братан

Рейтинг:
1

Nilesh Toonwal

Если вы хотите получить текст элемента из выпадающего списка по индексному номеру в vb.net
ты должен это сделать
(правильные способы) :> MyCombo.GetItemText(MyCombo.Предметы.Пункт(0))

ты не должен этого делать
(X неправильный путь) :> MyCombo.Пункты(0).Метод toString

потому что если combobox заполнен из .DataSource, то он не будет работать, он дает строку объекта, ссылающуюся на тот элемент, который не нужен


Richard Deeming

Как уже упоминалось в решении № 4, еще в 2012 году.

Рейтинг:
0

E.F. Nijboer

Вы можете просто выбрать его с помощью SelectedIndex. Проверьте ссылку для получения дополнительной информации: http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex.aspx[^]

Удачи вам!


Рейтинг:
0

Manoj Kumar Choubey

Дим показатель, как число

1. CmbName.Элементы(Индекс).Метод toString().Отделка()

2. индекс = CmbName.FindString("MonthName")
CmbName.SelectedIndex = индекс
CmbName.Элемент.Метод toString()
CmbName.SelectedText(Индекс).Метод toString().Отделка()
CmbName.Выбранное значение.Метод toString()


Shahin Khorshidnia

1. это не работает. На самом деле это на 100% противоположно тому, что хочет ОП! ОП хочет пройти индекс и получить название месяца. Ваше решение 1.обрезает значения, 2.передает название месяца и получает индекс!

=====
2. CmbName(?!) Что это за нотация? Паскаль (нет!), верблюжий (нет!), венгерский (нет!).

Manoj Kumar Choubey

У вас есть проверка cmbName.Элементы(Индекс).Метод toString()

Manoj Kumar Choubey

и, пожалуйста, предложите мне, что вы используете соглашение об именах .... ?

Shahin Khorshidnia

Здравствуйте Манодж
Жалеть об этом. Но:
CmbName (если я предполагаю, что это cmbName) находится на венгерском языке и не является стандартным в .Net. Это возвращение к VB6.
Мы можем использовать camelCasing (для полей и переменных) и PascalCasing (для свойств и имен contols)
например:

Dim indexOfItems As Integer 'Its camelCasing
===

'PascalCasing для этой общественной собственности
Private _personID как целое число

Public Property PersonID() Как Целое Число
Возьми
Вернуться _personID
Конец Получить
Набор
_personID = значение
Комплект
Конечное Свойство
.....
Вы можете найти стандартную нотацию в MSDN

ProEnggSoft

- Вы правы. Пожалуйста, смотрите мой комментарий ниже, где я упомянул другие возможные случаи.

Shahin Khorshidnia

Я видел. Это прекрасно.
Спасибо

ProEnggSoft

Спасибо.

Manoj Kumar Choubey

а также опишите, что не так с приведенным выше ответом и каков правильный ответ.....?

Shahin Khorshidnia

А что плохого в ответе:
Как я уже сказал:
На самом деле это на 100% противоположно тому, что хочет ОП! ОП хочет пройти индекс и получить название месяца. Ваше решение 1.обрезает значения, 2.передает название месяца и получает индекс!
Проверьте мое решение, оно возвращает значение ComboBox, передавая индекс

Manoj Kumar Choubey

Шахин Спасибо за улучшение моего мастерства , на самом деле я начал программировать с vb 6 , а теперь я занимаюсь программированием с .net, и это моя привычка , называя один и тот же тип, я буду иметь это в виду , а также хочу сказать, что я просмотрел ваши статьи это довольно хорошо, поставьте Больше статей, чтобы поделиться своими знаниями, не возражаете, но я хочу задать вопрос ?

ProEnggSoft

Что сказал Шахин является правильным.
Я хочу добавить следующее, Чтобы сделать это более ясным.

В соответствии с руководящими принципами проектирования каркаса

PascalCasing используется для статических открытых и защищенных полей.
Внутренние и частные поля не охватываются этими направляющими линиями. Но если используется camelCasing может быть использован.
Открытые и защищенные поля экземпляра не допускаются руководящими принципами проектирования элементов.
то есть мы не можем обобщить camelCasing для всех полей.

Поля также являются переменными. Так что если быть точным
camelCasing используется для параметров и локальных переменных.

Что касается контроля, то он зависит от уровня доступа (видимости) элемента управления.
В Visual Studio, в конструкторе форм (C#), когда элемент управления отбрасывается на форму, ему предоставляется Частный доступ, а имя-camelCasing.
Когда элементу управления предоставляется открытый или защищенный доступ, то можно использовать PascalCasing.

Shahin Khorshidnia

Спасибо Манджо
Нисколько. Пожалуйста спросите ;)

Manoj Kumar Choubey

Спасибо ProEnggSoft .....