Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
1

Как пользоваться comboBox

01.12.2016, 20:49. Просмотров 932. Ответов 18
Метки нет (Все метки)

Есть програмка которая выводит таблицу истинности с кол-вом n элементов. Требуется: чтобы в comboBox можно было выбрать номер столбца и сравнить его со вторым выбранным столбцом. Сам процесс сравнения я представляю как делать, но вот все что касается comboBox - то проблематично, т.к о нем я ничего не знаю. Если не сложно, разжуйте поподробнее пожалуйста. Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2016, 20:49
Ответы с готовыми решениями:

C# Как сделать чтобы при выборе в combobox , менялись значения в других combobox?
Приветствую коллеги. Только встал на путь программирования и столкнулся с...

Как сделать чтобы при выборе в comboBox, выводилось значение в другом comboBox?
Здравствуйте! Есть таблица из 2 столбца (id, name). Как сделать чтобы при...

Как сделать чтобы при выборе в combobox , менялись значения в других combobox?
Есть два combobox. Как их сделать зависимыми друг от друга. Что бы при выборе...

Как сделать ComboBox зависимым от другого ComboBox
Имеются два combobox'а в обоих одни и теже данные города отправки и прибытия...

ComboBox.DataSource и DataView: как заполнить ComboBox
Добрый вечер! Прочитал в книге, что "В результирующем DataView, будут видимы...

18
zna926
336 / 311 / 254
Регистрация: 24.09.2013
Сообщений: 1,847
Записей в блоге: 1
02.12.2016, 02:19 2
ComboBox - это выпадающий список, а, например, в ListBox этот список всегда открыт. Действия с ними аналогичны
А теперь желательно более понятно описать задачу
0
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
02.12.2016, 12:31  [ТС] 3
Слева выведена таблица истинности которую сгенерировала программа в массив. Мне нужно в двух comboBox-ах выбрать 2 столбца этой таблицы (массива) и с помощью кнопок сделать сравнение между ними. Т.е мне по сути надо понять как сделать так, чтобы пользователь мог выбрать из n кол-ва столбцов один (вводится пользователем), а затем как нибудь считать что выбрал пользователь. Надеюсь обьяснил понятно)
0
Миниатюры
Как пользоваться comboBox  
zna926
336 / 311 / 254
Регистрация: 24.09.2013
Сообщений: 1,847
Записей в блоге: 1
02.12.2016, 14:19 4
"Слева выведена таблица истинности которую сгенерировала программа в массив. Мне нужно в двух comboBox-ах выбрать 2 столбца этой таблицы (массива) и с помощью кнопок сделать сравнение между ними. Т.е мне по сути надо понять как сделать так, чтобы пользователь мог выбрать из n кол-ва столбцов один (вводится пользователем), а затем как нибудь считать что выбрал пользователь. Надеюсь обьяснил понятно) "

Да, это понятно Вам.

1 Что должно быть в комбобоксах,
2. n - это количество столбцов или строк
3. Что означает " в двух comboBox-ах выбрать 2 столбца этой таблицы "
4. "с помощью кнопок сделать сравнение между ними" , как это?
и т.д.
0
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
02.12.2016, 18:34  [ТС] 5
1)в комбобоксах должны быть номера столбцов. 2)n - это кол-во столбцов. 3)"Что означает " в двух comboBox-ах выбрать 2 столбца этой таблицы "" - это означает что мы в первом комбобоксе выбираем первый столбец для сравнения, во втором второй. 4) ""с помощью кнопок сделать сравнение между ними" , как это?" - с помощью кнопок "or", "and", "xor", "inversion" которые уже действуют, осталось только передать им два значения: номер первого и второго столбца. мне нужно в первом комбобоксе выбрать номер первого столбца для сравнения, во втором - второй, и считать выбранные столбцы.
0
zna926
336 / 311 / 254
Регистрация: 24.09.2013
Сообщений: 1,847
Записей в блоге: 1
02.12.2016, 20:21 6
Почти понятно, но, как я понимаю, есть 2 столбца и в каждом n рядов ?
0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
02.12.2016, 21:49 7
1) Заходишь в св-ва comboBox.
2) Ищешь пункт "Коллекция", и в СТОЛБИК пишешь необходимые тебе значения. Например
Блаблабла
Блублублу
3) Само использование:
C#
1
2
3
if (comboBox1.Text == "Блаблабла")  { textBox1.Text = "Бла бла бла"}
             else  {
if (comboBox1.Text == "Блублублу")  { textBox1.Text = "Блу блу блу"}    }
и так далее.
В твоем случае сложнее. Тебе нужно что бы коллекц... стоп. В коллекцию комбобоксов ставишь номер столбца.
А дальше пойдет примерно так:
C#
1
2
if (comboBox1.Text == "1")  { /*а здесь одномерный массиву A[1][n] в 1 столбец и n строк, где n количество строк в исходном массиве присваиваются значения 1ого столбца исходного массива.(и здесь можно не использовать esle {})*/ }
if (comboBox1.Text == "2")  { /*а здесь ** значения 2ого столбца исходного массива( ну и так далее)*/ }
для второго комбобокса прописывается тоже самое. но вот втыкать этот код лучше всего в кнопку.
То есть, в описании кнопки
C#
1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
        { /* проверка первого комбобокса, и присваивание к массиву A[][]
               проверка второго комбобокса, и присваивание к массиву B[][]
               сравнение по выбранному способу (соотносительно кнопки)
        }
Как то так.
Хотя и не очень красиво.
0
zna926
336 / 311 / 254
Регистрация: 24.09.2013
Сообщений: 1,847
Записей в блоге: 1
02.12.2016, 22:48 8
Финал!
В комбобоксах, насколько я знаю, есть, как и в листбоксах, только 1 столбец.
Поэтому можно вполне обойтись без них, а при большом количестве столбцов использовать датагридвью
Желаю успеха.
0
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
03.12.2016, 00:53  [ТС] 9
Мне не совсем понятно... Мне нужно как-то сделать так чтобы можно было выбрать один столбец из того количества, которое введет пользователь... допустим ввел он 8, и выбирает он 1,2,3,4,5,6,7 или 8-ой стобец.
0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
03.12.2016, 19:16 10
Цитата Сообщение от Deserter Посмотреть сообщение
Мне не совсем понятно... Мне нужно как-то сделать так чтобы можно было выбрать один столбец из того количества, которое введет пользователь... допустим ввел он 8, и выбирает он 1,2,3,4,5,6,7 или 8-ой стобец.
в левом окне у вас массив, верно? в комбобоксах вы выбираете только номер столбца! а дальше уже идет присвоение элементов этого столбца к новому массиву. новые массивы и сравниваются? или я не правильно понял вашу задачу?

Добавлено через 4 минуты
Цитата Сообщение от zna926 Посмотреть сообщение
Финал!
В комбобоксах, насколько я знаю, есть, как и в листбоксах, только 1 столбец.
Поэтому можно вполне обойтись без них, а при большом количестве столбцов использовать датагридвью
Желаю успеха.
а зачем датагрид? у него же не работа с базами данных??
а в комбобоксах и листбоксах коллекция записана в столбец. для выбора номера столбца исх.матрицы самое то.
В предложенном мной коде в кбоксе выбирается именно номер столбца. посмотрите внимательно.
0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
04.12.2016, 22:57 11
Цитата Сообщение от Deserter Посмотреть сообщение
Мне нужно как-то сделать так чтобы можно было выбрать один столбец из того количества, которое введет пользователь... допустим ввел он 8, и выбирает он 1,2,3,4,5,6,7 или 8-ой стобец.
Уточнение. Количество столбцов в исходной матрице будет равно введенному пользователем числу?
Чуть код усложняется, если нужно пиши
0
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
04.12.2016, 23:11  [ТС] 12
мне нужно будет передать номер столбца в функцию, в которой просто напросто столбец из существующего массива будет считываться, сравниваться и только уже после этого будет генерироваться новый массив с результатами

Добавлено через 7 минут
Цитата Сообщение от elrond Посмотреть сообщение
Уточнение. Количество столбцов в исходной матрице будет равно введенному пользователем числу?
да. Т.е пользователь вводит кол-во столбцов.
0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
05.12.2016, 22:42 13
Лучший ответ Сообщение было отмечено Deserter как решение

Решение

Цитата Сообщение от Deserter Посмотреть сообщение
мне нужно будет передать номер столбца в функцию, в которой просто напросто столбец из существующего массива будет считываться, сравниваться и только уже после этого будет генерироваться новый массив с результатами
А в комбобоксах выбор столбцов для сравнения, верно?
Оххо.. что то туго до меня доходит. В общем так:
1. Вводишь число. (например 5)
2. Генерируется матрица в эти самые 5 столбцов. (все пока верно?)
3. В комбобоксах выбираешь номера столбцов для последующего действия. как то 1) Or; 2) And; 3) Xor; 4) Inversion.
4. Собственно тыкаешь кнопку с необходимым действием (тоже верно?)
5. Вывод результата в виде матрицы в правое поле. (и тут верно?)

Примем что я правильно понял задание.
Алгоритм в коде такой.

1. Прием введенного числа (Пусть будет переменная NUM)
2. Генерация исходной матрицы (примем, что ты это уже написал( изв. что на "ты")
3. Заполняем коллекции comboBox1 и comboBox1 (ну или какие там у тебя номера (этот код можно воткнуть в кнопку "Enter" и, как я понимаю генерация исх. массива тоже в ней):
C#
1
2
3
4
5
6
7
8
9
10
11
comboBox1.Items.Clear(); // очищаем память коллекции.
for (int i = 1; i <= NUM; i++)
            {
                comboBox1.Items.Add("i");// вот тут я точно не помню как надо прописать. Но надеюсь суть понятна.
            }
comboBox2.Items.Clear();
for (int i = 1; i <= NUM; i++)
            {
                comboBox2.Items.Add("i");// вот тут я точно не помню как надо прописать. Но надеюсь суть понятна.
            }
/* по логике должно работать. но не проверял. в моей проге было ручное заполнение comboBox`а, так что если что отпишись*/
Добавлено через 11 минут
Исправляю третий пункт. Так как проверил:
3. Заполняем коллекции comboBox1 и comboBox1 (ну или какие там у тебя номера (этот код можно воткнуть в кнопку "Enter" и, как я понимаю генерация исх. массива тоже в ней):
C#
1
2
3
4
5
6
7
8
9
10
11
comboBox1.Items.Clear(); // очищаем память коллекции.
for (int i = 1; i <= NUM; i++)
            {
                comboBox1.Items.Add(i);// доводим элементы до введенного числа. Но надеюсь суть понятна.
            }
comboBox2.Items.Clear();
for (int i = 1; i <= NUM; i++)
            {
                comboBox2.Items.Add(i);
            }
/* данный код только что проверил у себя. Работает.*/
Добавлено через 30 минут
4. Вот теперь код в кнопки.
C#
1
2
3
4
5
6
7
8
9
private void button3_Click(object sender, EventArgs e) // у тебя свой номер кнопки
        {
            //создаем две доп. переменные для последующего использования выбранного в comboBox`е числа.
            int cB1, cB2;
            cB1= Convert.ToInt16(comboBox1.Text); // это будет номер первого твоего столбика из матрицы
            cB2 = Convert.ToInt16(comboBox2.Text); // это  номер второго столбика
            /*сравнивать можно будет как две матрицы в один столбец и n строк. то есть задаешь две матрицы.
в первую переносишь значение первого (или какой там число будет в переменной cB1), во вторую матрицу соответственно второго столбца. и производишь необходимое тебе действие */
/*то есть этот код есть в каждой кнопке. код на на создание двух новых массивов уж сам напишешь*/
есть еще вопросы? все понятно?

Добавлено через 30 минут
4. Вот теперь код в кнопки.
C#
1
2
3
4
5
6
7
8
9
private void button3_Click(object sender, EventArgs e) // у тебя свой номер кнопки
        {
            //создаем две доп. переменные для последующего использования выбранного в comboBox`е числа.
            int cB1, cB2;
            cB1= Convert.ToInt16(comboBox1.Text); // это будет номер первого твоего столбика из матрицы
            cB2 = Convert.ToInt16(comboBox2.Text); // это  номер второго столбика
            /*сравнивать можно будет как две матрицы в один столбец и n строк. то есть задаешь две матрицы.
в первую переносишь значение первого (или какой там число будет в переменной cB1), во вторую матрицу соответственно второго столбца. и производишь необходимое тебе действие */
/*то есть этот код есть в каждой кнопке. код на на создание двух новых массивов уж сам напишешь*/
есть еще вопросы? все понятно?

Добавлено через 3 минуты
ах да.. еще в начале вот такое надо внести
C#
1
2
comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
что бы так получилось. Это что бы нельзя было писать в боксах, а только делать выбор

C#
1
2
3
4
5
6
public Form1()
        {
            InitializeComponent();
            comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
        }
1
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
06.12.2016, 21:32  [ТС] 14
Цитата Сообщение от elrond Посмотреть сообщение
А в комбобоксах выбор столбцов для сравнения, верно?
Оххо.. что то туго до меня доходит. В общем так:
1. Вводишь число. (например 5)
2. Генерируется матрица в эти самые 5 столбцов. (все пока верно?)
3. В комбобоксах выбираешь номера столбцов для последующего действия. как то 1) Or; 2) And; 3) Xor; 4) Inversion.
4. Собственно тыкаешь кнопку с необходимым действием (тоже верно?)
5. Вывод результата в виде матрицы в правое поле. (и тут верно?)
Да, понял ты верно... Код вроде понятен, ближайшее время попробую реализовать... Спасибо огромное за помощь...)
0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
06.12.2016, 21:44 15
Цитата Сообщение от Deserter Посмотреть сообщение
Да, понял ты верно... Код вроде понятен, ближайшее время попробую реализовать... Спасибо огромное за помощь...)
не за что)) взялся ради отвлечения от основного проекта, с которым полный ступор(

Добавлено через 4 минуты
если что пиши, подскажу
0
Deserter
1 / 1 / 1
Регистрация: 30.11.2016
Сообщений: 61
07.12.2016, 08:55  [ТС] 16
Цитата Сообщение от elrond Посмотреть сообщение
с которым полный ступор(

Не по теме:

А в чем проблема то? Может я что наперед знаю!?)))

0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
07.12.2016, 22:57 17
Цитата Сообщение от Deserter Посмотреть сообщение
Не по теме:
А в чем проблема то? Может я что наперед знаю!?)))
Подключение базы данных к C# winForm + внос переменных приложения в данную базу..
0
Deserter
08.12.2016, 11:34  [ТС]
  #18

Не по теме:

Цитата Сообщение от elrond Посмотреть сообщение
Сообщение от Deserter
Не по теме:
А в чем проблема то? Может я что наперед знаю!?)))
Подключение базы данных к C# winForm + внос переменных приложения в данную базу..
А, не. К этому я сам стремлюсь)

0
elrond
5 / 5 / 3
Регистрация: 03.11.2015
Сообщений: 30
11.12.2016, 10:50 19
Цитата Сообщение от Deserter Посмотреть сообщение
А, не. К этому я сам стремлюсь)
хих))) если первая часть норм получается, то вот переменные ни в какую((
0
11.12.2016, 10:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2016, 10:50

Как пользоваться консолью
В некоторых кодах, частенько наблюдаю Console.WriteLine(&quot;f&quot;) Через данную...

RowFilter и как им пользоваться
Добрый вечер! Есть табличка datatable содержащая 3 столбика (num int, fio...

Как пользоваться ProgressBar
Ребят блин не пойму как пользоваться прогресс баром! Лист бокс иногда дюже...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru