Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28

Отобразить в ComboBox только часть строки

16.10.2016, 10:10. Показов 3212. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Нужно добавить элементы в КомбоБокс в виде "<Имя> <значение>". Нужно, чтобы отображалось на форме только Имя, а Значение использовать тогда, когда элемент с этим именем выбран. Как это реализуется? Не нашел ответа нигде..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2016, 10:10
Ответы с готовыми решениями:

Как отобразить в pictureBox только определённую часть картинки
Здравствуйте. У меня есть картинка, которая значительно больше pictureBox`а (прикладываю саму картинку). Сейчас я её отображаю во так: ...

Как отобразить на форме только часть изображения ? (NetBeans)
Здравствуйте! Есть проект на NetBeans, в ресурсах есть изображение. Вопрос вот в чем - как отобразить на форме только часть этого...

Как отобразить только часть веб страницы (класс webbrowser)
Нужно, чтобы каким то образом копировать информацию из веб-страницы и вставить в программу с интерфейсом WPF во время выполнения программы....

8
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.10.2016, 11:30
plxna2,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
namespace WindowsFormsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        List<Data> list; //список данных
        private void Form1_Load(object sender, EventArgs e)
        {
            list = new List<Data>();
            list.Add(new Data("Иванов", 150)); //заполняем список
            list.Add(new Data("Петров", 230));
            list.Add(new Data("Сидоров", 50));
            list.Add(new Data("Карпов", 220));
            list.Add(new Data("Крамник", 350));
            comboBox1.DataSource = list; //устанавливаем список в качестве DataSource комбобокса
            comboBox1.DisplayMember = "Name"; //назначаем отображаемое поле
            comboBox1.ValueMember = "Value"; //назначаем значимое поле
            comboBox1.SelectedIndex = -1; //сбрасываем выбранной в комбобоксе элемент
            comboBox1.SelectedValueChanged += new EventHandler(comboBox1_SelectedValueChanged); //обработчик изменения выбранного значения (для примера)
        }
 
        void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            MessageBox.Show(comboBox1.SelectedValue.ToString()); //Выводим значение выбранного элемента
        }
    }
 
    class Data //класс, представляющий элемент данных
    {
        public string Name { set; get; }
        public int Value { set; get; }
        public Data(string name, int value)
        {
            Name = name;
            Value = value;
        }
    }
}
1
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28
16.10.2016, 13:48  [ТС]
Даценд, то есть проще, без работы с классами и списками, это не сделать?
Ваш ответ очень развернут, спасибо большое.
Дело вот в чем. Нужно добавить в КомбоБокс элементы такие, как "Green 0 255 0", выводить в нём на форме только "Green", а три числа использовать как RGB для окрашивания фона формы. Это не реализуется без классов и списков?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.10.2016, 13:59
plxna2,
Ну, если в комбобоксе будет находится небольшой неизменный список, формируемый в окне свойств комбобокса на этапе написания программы, то можно работать со свойством SelectedIndex.

Не дочитал про тип элементов. Лучше классами и списками.
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28
16.10.2016, 14:11  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
если в комбобоксе будет находится небольшой неизменный список, формируемый в окне свойств комбобокса на этапе написания программы, то можно работать со свойством SelectedIndex.
Да, именно так и нужно. Список фиксированный, создается вручную до запуска, а после не изменяется при работе программы.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.10.2016, 14:52
plxna2,
Добавление полного списка цветов:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form1_Load(object sender, EventArgs e)
{
    string[] colors = Enum.GetNames(typeof(KnownColor)); //список цветов
    comboBox1.DataSource = colors;
    comboBox1.SelectedIndex = -1;
    comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}
 
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Color color = Color.FromName(comboBox1.Text); //выбранный цвет
    int r = color.R; //отдельные составляющие цвета
    int g = color.G;
    int b = color.B;
    this.BackColor = color;
}
Добавлено через 25 минут
А чтобы добавить только некоторые цвета, их имена нужно внести в Items в конструкторе или так:
C#
1
string[] colors = {"Red", "Orange", "Yellow", "Green", "LightBlue", "Blue", "Violet"};
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28
16.10.2016, 15:41  [ТС]
На
C#
1
this.BackColor = color;
Исключение "Элемент управления не поддерживает прозрачные цвета фона."
Так, а если цвета нужны не системные, а любые выбранные, и с русскими названиями?
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28
16.10.2016, 15:51  [ТС]
Вот здесь пример готового функционала есть, только на Delphi написано, но это не важно, т.к. исходников всё равно нет.
Вложения
Тип файла: rar Project5.rar (742.2 Кб, 5 просмотров)
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.10.2016, 16:56
plxna2,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dictionary<string, string> colors = new Dictionary<string, string>();
private void Form1_Load(object sender, EventArgs e)
{
    colors.Add("Красный", "Red");
    colors.Add("Желтый", "Yellow");
    colors.Add("Зеленый", "Green");
    colors.Add("Синий", "Blue");
    comboBox1.DataSource = colors.Keys.ToList();
    comboBox1.SelectedIndex = -1;
    comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}
 
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Color color = Color.FromName(colors[comboBox1.Text]);
    this.BackColor = color;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2016, 16:56
Помогаю со студенческими работами здесь

Как при выборе значения в Combobox отобразить на форме только нужные элементы
Скажите, как можно при выборе определенного значения в Combobox отобразить на форме только нужные элементы для заполнения? Я так понимаю...

Как отобразить строки DataGridView в ComboBox
в DataGrid у меня в таблице имеются 10 строк Как эти строки отобразить в ComboBox ?

Отобразить только связанные строки
Всем привет,подскажите пожалуйста как отобразить только связанные строки? на форме Adotable, datasource и dbgrid Из за отображение...

Отобразить только некоторые строки из таблицы в DGV
Есть таблица DataTable. В DataGridView необходимо отобразить только лишь некоторые строки из этой таблицы. Для этого создал столбец...

Подменить только часть строки
есть строка $arFields = &quot;27.05.2016 17:11:35&quot;; и есть текущая дата $today = date(&quot;d-m-Y...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru