Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/41: Рейтинг темы: голосов - 41, средняя оценка - 4.83
21 / 21 / 3
Регистрация: 11.07.2010
Сообщений: 63

Combobox и текст не с списка

13.11.2010, 12:12. Показов 8686. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Ничего подобного на форуме не нашел. Вопрос довольно глуп и довольно прост.
Что же происходит с Комбобоксом при изменении текста? И самое главное: как присвоить свойству Text значение, которого нету в списке?

Теперь чуть поподробнее. Допустим в комбо есть один единственный элемент - "qwe". Далее, если текст изменился(например, пользователь выбрал из дроп-даун списка этот единственный элемент) и текст равен элементу, который в комбе, то присвоить comboBox1.Text = "какой то другой стринг".

C#
1
2
3
4
5
private void comboBox1_TextChanged(object sender, EventArgs e)
{
if (comboBox1.Text == "qwe")
comboBox1.Text = "fhgfd";
}
Как не крутил - не получается. Как результат можно получалось либо пустой комб, либо элемент комбобокса. Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2010, 12:12
Ответы с готовыми решениями:

Дополнительная информация в строке списка ComboBox
В ComboBox отображаются строки из DataSource и DisplayMember. Можно ли отображать в этих строках добавку из другого поля, или несколько...

Импорт списка строк из Combobox в List
Хочу реализовать запись строк из списка в Combobox в пользовательский список List<string> без цикла. Обратный вариант вариант...

Почему SelectedIndex в ComboBox меняется до закрытия списка?
Значение SelectedIndex в ComboBox меняется уже на этапе выбора элементов списка, когда список ещё открыт, а вот событие...

7
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
13.11.2010, 12:36
nicolaus2, я правильно понимаю? нужно, что бы при выборе какого-то элемента в комбо, этот элемент не отображался в текстовом поле? Тогда накой он там нужен, если его выбрать нельзя?
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
13.11.2010, 12:37
используйте свойство SelectedText

или же храните данные как КлючьЗначение
0
21 / 21 / 3
Регистрация: 11.07.2010
Сообщений: 63
13.11.2010, 13:00  [ТС]
Konctantin, попробовал. А что тот SelectedText? Задает значение выделенного текста. В любом случае - не получается, если я правильно вас понял.

nio, ээ .. нет) Нужно чтобы при выборе некого элемента с комбо отобразить в текстовом поле текст, которого нету в комбо.
Например, в комбо есть пункт "Выбрать из базы ..."(может быть ещё куча пунктов, не важно). Пользователь в комбо может либо вписать текст в текстовое поле, либо выбрать "Выбрать из базы ...", в таком случае он что то выбирает, и это что то появляется в текстовом поле комбо(но не добавляется в лист).
Пожалуйста, не предлагайте альтернативы, типа "сделать кнопочку рядом с комбобоксом и не морочить голову" или ещё что то. Спасибо.
0
начал понимать msdn
57 / 57 / 6
Регистрация: 11.03.2010
Сообщений: 232
13.11.2010, 13:21
Если у тебя всегда будет в Combobox 1 элемент и тебе нужно, чтобы он всегда заменялся при нужном тебе условии, то я бы сделал бы так:

Если условие выполняется то
C#
1
2
3
                comboBox1.Items.Clear(); // но это удалит все элементы..
                comboBox1.Items.Add("qaz");
                comboBox1.Text = ("qaz");
Добавлено через 11 минут
А вот так... оно удалит твой элемент и поставит новый на который хочешь заменить в конец списка.
C#
1
2
3
comboBox1.Items.Remove("qwe");
                comboBox1.Items.Add("qaz");
                comboBox1.Text = ("qaz");
0
21 / 21 / 3
Регистрация: 11.07.2010
Сообщений: 63
13.11.2010, 13:45  [ТС]
Laak, да нет же Нужно задать свойству text текст, которого нет в списке.
0
начал понимать msdn
57 / 57 / 6
Регистрация: 11.03.2010
Сообщений: 232
13.11.2010, 14:20
nicolaus2, Тоесть нужно просто задась свойству text определенный текст, но не добавлять его в список?

Добавлено через 21 минуту
Да, теперь я понял твою проблему, поигрался сейчас минут 15, ничего не получилось.

Еще вариант (по крайней мере мне бы он подошел) сделать так:
comboBox1.Items.Add("Элемент, которого небыло в списке");
comboBox1.Text = ("Элемент, которого небыло в списке");


А где нибудь в конце выполнения программы удалять этот "Элемент, которого небыло в списке".

На самом деле, как ты написал в самом начале работает.
НО попробуй сделать так, и ты поймешь почему не добавляет:

C#
1
2
3
4
5
6
7
8
9
10
11
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string tekst;
            tekst = "Привет, я текст, которого нету в списке";
            if (comboBox1.Text == "qwe")
            {
                comboBox1.Text = (tekst);
                MessageBox.Show("Любой текст");
             }
 
            }
Добавлено через 5 минут
Можешь еще попробывать сделать так... добавить в свойство Leave свой код, и он будет работать, но текст который тебе нужно будет вставить, появиться после того как ты "покинешь" combobox.
1
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
13.11.2010, 15:12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// создаем таблицу значений
System.Data.DataTable dt = new System.Data.DataTable();
// добавляем 2 столбца, 1 - это значение, а 2 - это отображаемый текст
dt.Columns.Add("Value");
dt.Columns.Add("Distplay");
// это произвольное заполнение, дабы показать по какаому принципу оно работает
for( int i = 0; i < 10; ++i)
{
    System.Data.DataRow dr = dt.NewRow();
    dr["Value"] = i;// определяем значение
    dr["Distplay"] = "value_" + i;// определяем как долно отображаться в комбобоксе (в списке и при выборе)
    dt.Rows.Add(dr);
}
 
comboBox1.DataSource = dt;// присваиваем значения контролу
comboBox1.ValueMember = "Value";// указываем что являеться данными (имена столбцов)
comboBox1.DisplayMember = "Distplay";// а тут что являеться отображением
 
// пример как использовать, возавращаемое значение всегда типа object
object val = comboBox1.SelectedValue;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2010, 15:12
Помогаю со студенческими работами здесь

Нужно связать ComboBox с текст боксами
Есть программа Вот такого вида. Мне нужно при заполнение всех полей и нажатии на кнопку добавить, добавлять данные либо в...

Получить текст выделенного элемента в ComboBox
я загружаю в combobox1 из БД инфу таким образом как известно : comboBox1.DataSource = bindingSource; comboBox1.DisplayMember =...

Как получить текст нулевого элемента ComboBox ?
Добрый день. необходимо сравнить текст ComboBox'са с TextBox'ом и если совпадают то выставить в КБ текущий индек совпавшей строки. for...

Как в ComboBox показывать первый элемент списка при загрузке формы
Заполняю comboBox значением жестких дисков - Имя и размер. При запуски приложения comboBox пустое , приходится нажимать на стрелочку...

Как добавить текст из списка в ComboBox.Text
требуется что бы при выборе элемента из списка ComboBox, он не вставал в поле ComboBox.Text а добавлялся к нему, и получалось что то типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru