Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ComboBox Copy 
:(
    Опции темы
justas
  Дата 8.12.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 13
Регистрация: 21.12.2009

Репутация: нет
Всего: нет



Приветствую. 

Есть такая проблема:
В C# надо сделать так, чтобы ComboBox был ReadOnly, но выбранный элемент можно было копировать (как ячейка с выпадающим списком в propertyGrid). ReadOnly можно сделать выставив DropDownStyle - DropDownList, но в этом случае нельзя выделять и копировать выбранный элемент.
Пока думаю делать через события, но для меня это не очень хороший вариант.
 smile 
Если кто откликнется, спасибо.
PM MAIL   Вверх
Kolovorot
Дата 9.12.2010, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Свойство DropDownStyle выставляешь в DropDownList и обрабатываешь следующие события таким образом:
Код

        //_isCntrl возвращает true, если ctrl зажат.
        //И false, если отжат.
        private bool _isCntrl = false;

        private void comboBox2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.ControlKey)
            {
                //ctrl зажат
                _isCntrl = true;
            }
        }

      
        private void comboBox2_KeyUp(object sender, KeyEventArgs e)
        {
            if (_isCntrl && e.KeyCode == Keys.ControlKey)
            {
                //ctrl отжат
                _isCntrl = false;
            }
        }

      
        private void comboBox2_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            //Если ctrl зажат и была нажата клавиша 'с',
            //cохранить текст из комбабокс в буфер.
            if (_isCntrl && e.KeyCode == Keys.C)
                Clipboard.SetText(comboBox2.Text);
              
        }


Это сообщение отредактировал(а) Kolovorot - 9.12.2010, 11:43
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
justas
Дата 9.12.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 13
Регистрация: 21.12.2009

Репутация: нет
Всего: нет



Спасибо. Но к сожалению, это не совсем что нужно, заказчик, просит, чтобы можно было выделить мышкой какой-то кусок данных, а затем по правой кл. мыши вызвать меню и там выбрать копировать. Пока остановился, на том, что использую Style DropDown. Обрабатываю KeyPress, KeyDown и TextChanged
PM MAIL   Вверх
Kolovorot
Дата 9.12.2010, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: нет
Всего: 3



Кусок данных - это выбрать несколько элементов из комбабокса?
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
justas
Дата 9.12.2010, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 13
Регистрация: 21.12.2009

Репутация: нет
Всего: нет



копировать не всю строку, а какую-либо ее часть(значение-ключ копируем к примеру ключ)
PM MAIL   Вверх
Ky7m
Дата 10.12.2010, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 8.4.2008

Репутация: нет
Всего: 2



Цитата(justas @ 9.12.2010,  21:46)
копировать не всю строку, а какую-либо ее часть(значение-ключ копируем к примеру ключ)

Обрезай как надо строку, содержащуюся в comboBox2.Text
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.