Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: длинные элементы в ComboBox Добавлено: 12.10.06 11:48  

Автор вопроса:  Riddick
Здравствуйте, вопрос в следующем:
Если длина строки текста в ComboBox превышает ширину ComboBox и нет возможност расширить его,то каким образом возможно реализовать возможность полного просмотра строки.
Нашел как похожую проблему решить с помощью ToolTipText, но для List: http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/WindowsAPI/Control/123.mspx

Но для ComboBox нет события MouseMove :(
Если подскажите в какое событие засунуть и если такой вариант возможен для ComboBox буду очень признателен.
Или подскажите свой вариант.
Или дайте ссылочку где можно прочитать решение данного вопроса.
Заранее благодарен.
PS. можно конечно каждый раз расширять ширину ComboBox по длине самой длинной строки, после выбора возвращать исходный размер.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #1 Добавлено: 12.10.06 13:30
При получении фокуса комбобоксом создавай прилепленный снизу к нему ЛистБокс, в который переписывай эл-ты из комбобокса.
В самом кобобоксе кол-во отображаемых элементов установи 0. (не помню точно, где-то видел как).
При потере фокуса листбоксом ЛистИндекс КОМБОБОКСА устанавливай равному ЛистИндексу ЛИСТБОКСА, а сам листбокс скрывай.

Все. ЛистБокс обрабатывать ты умеешь.

Ответить

Номер ответа: 2
Автор ответа:
 Riddick



Вопросов: 8
Ответов: 8
 Профиль | | #2 Добавлено: 13.10.06 15:50
Спасибо за совет. Надо бы попробывать.

Я сделал так: Во время получения фокуса ComboBox изменяю его ширину, а при выборе элемента ComboBox на Click возвращаю старый размер. Все бы было хорошо, но при изменении ширины список увеличивается, но при этом он сворачивается, и это очень заметно и не удобно:( Если есть мысли и если это возможно, то подскажите, как после изменения ширишы разварачивать список автоматически.

Ответить

Номер ответа: 3
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #3 Добавлено: 13.10.06 17:11
Стандартный комбобокс этого не умеет :(
Но это умеет комбобокс из Forms2.0 (не FrameWork) На панели с элементами управления правой клавишей - у тебя появится меню, там выбираешь "Components", появится список эл-тов управления, крутишь его и находишь "Microsoft Forms 2.0 Object Library". Выбираешь его и у тебя появится куча эл-тов управления, в их числе и комбобокс. Замечательный контрол, но зараза не всегда удачно переносится с машины на машину, долботня. У него есть метод типа Expand или DropDownList, скорее второе.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам