1). Похоже на глюки в системе.
Есть на форме
ComboBox1, TextBox1, DataGridView1, и еще несколько кнопок для редактирования таблицы DataGridView1.
DataGridView1 содержит один из столбцов с форматом Combobox, и присваивается переменная для поля ввода в ячейки DataGridView1 по событитию ShowControlCell (точное название события не помню, но не так важно). Всем ComboBox-ам присваиваем списки для выбора. Загружаем форму, фокус устанавливаетсся при загрузке на DataGridView1.
1. Кликаем мышкой по ComboBox1, список раскрывается нормально, фокус устанавливается, набираем с клавиатуры текст - текст нормально вводится.
2. Кликаем мышкой по ячейке DataGridView1 с форматом Combobox, тоже все в порядке.
3. Опять кликаем мышкой по ComboBox1, тут начинаются странные вещи. Список раскрывается, но стоит мышки сдвинуться с поля при отжатии клавиши, сразу исчезает. Визуально курсор находится в ComboBox1, и есть выделение, набираем текст с клавиатуры, текст появляется не в ComboBox1, а в поле TextBox1.
Ситуация парируется, если на событие СоmboBox1_MouseUp написать СоmboBox1.Focus().
Чтобы полностью понять, нужен исходник, но смотрели вдвоем, и ходила построчно в отладчике, никаких ошибок не нашли.
----------------
2). Наверное это правильно, но выглядит странно.
Есть на форме ComboBox1 и ComboBox2.
Есть массив со списком имен Names.
Присваиваем одинаковые списки:
ComboBox1.DataSource = Names
ComboBox2.DataSource = Names
Запускаем, выбираем значение в ComboBox1, такое же значение само собой устанавливается в ComboBox2.
Mожет это так и должно быть, но такое поведение двух Combobox-ов кажется странным.
После создания клона массива Names все все работает нормально.
ComboBox1.DataSource = Names.Clone
ComboBox2.DataSource = Names.Clone
----------------