Как заставить DataGridViewComboBoxColumn развернуть раскрывающийся список влево? - PullRequest
5 голосов
/ 17 октября 2008

У меня есть DataGridViewCobmoboxColumn, который должен быть в правой части экрана. Элементы в ячейке шире, чем ширина ячейки, поэтому раскрывающийся список также шире, чем ячейка, чтобы пользователь мог видеть, какой верх выбрать. Когда список выпадает, правая часть раскрывающегося списка не отображается, и, следовательно, полоса прокрутки также не отображается. Пользователи думают, что есть только 7 пунктов на выбор, когда их на самом деле много.

Поскольку это должно быть с правой стороны, есть ли способ закрепить выпадающий список справа от ячейки и развернуть влево?

Мы используем .Net 2.0 для этого проекта. Поскольку мы кодируем как на VB, так и на C #, я не слишком обеспокоен тем, что ответ зависит от языка. Я возьму что-нибудь ...

Ответы [ 2 ]

1 голос
/ 17 октября 2008

Если я правильно понимаю, вам нужно автоматически изменить ширину, чтобы все было видно? Я нашел сообщение о том, как это сделать в MSDN.

0 голосов
/ 06 февраля 2017

Я понимаю, что вопрос старый, но:

Лучшее решение будет использовать что-то вроде ToolStripDropDownDirection.AboveLeft Но, насколько я вижу из исходного кода, ничего подобного нет.

Таким образом, другим подходом может быть установка значений DropDownWidth / MaxDropDownItems в зависимости от положения поля со списком справа / снизу экрана. Но это не работает, потому что выпадающий список не может быть меньше ячейки.

Так что вы можете попробовать

  • использование рефакторинга для исправления поведения элемента управления (низкий шанс);
  • запрещающее перемещение окна (программно) близко к правому краю экрана;
  • используя собственный элемент управления (переопределите или напишите свой собственный класс DataGridViewComboBoxColumn) или купите пользовательскую сетку.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...