2008-10-17 5 views
5

DataGridViewCobmoboxColumn이 화면의 맨 오른쪽에 있어야합니다. 셀의 항목이 셀 너비보다 넓기 때문에 드롭 다운 목록이 셀보다 넓으므로 사용자는 어떤 최상 선택을 볼 수 있습니다. 목록이 아래로 떨어지면 드롭 다운의 오른쪽이 보이지 않으므로 스크롤 막대도 표시되지 않습니다. 실제로 많은 것이있을 때 사용자는 선택할 수있는 항목이 7 개 밖에 없다고 생각합니다.DataGridViewComboBoxColumn을 드롭 다운을 왼쪽으로 확장하는 방법은 무엇입니까?

오른쪽에 있어야하므로 드롭 다운을 셀 오른쪽에 고정하고 왼쪽으로 확장 할 수있는 방법이 있습니까?

이 프로젝트에는 .Net 2.0이 사용됩니다. 우리는 VB와 C# 둘 다 코딩하고 있기 때문에 언어에 대한 구체적인 대답은별로 신경 쓰지 않습니다. 나는 무엇이든 가져 가겠다. ...

답변

1

내가 올바르게 이해하면, 물건이 나타날 정도로 너비를 자동으로 조정해야합니까? I found a post on how to do that on MSDN.

+0

위로 가기 스탠리 클리프는 "시간을내어 대답 해 주셔서 감사합니다.하지만 드롭 다운을 충분히 넓게 설정하는 것은 문제가되지 않습니다. 문제는 드롭 다운 목록이 셀보다 넓어서 왼쪽 셀 가장자리에 고정되어 있습니다. 따라서 오른쪽 셀 가장자리를지나 확장됩니다. 필요한 것은 셀의 오른쪽 가장자리에 드롭 다운을 고정시키고 왼쪽 셀 가장자리를지나 확장 할 수 있도록하는 것입니다. " – MarkJ

0

나는 질문이 오래 이해하지만 :

가장 좋은 해결책은 ToolStripDropDownDirection.AboveLeft 같은 것을 사용하고있을 그러나 지금까지의 내가 소스 코드에서 보는 바와 같이이 같은 아무 것도 없을 것입니다.

또 다른 방법은 화면의 오른쪽/아래쪽에서 콤보 상자의 위치에 따라 DropDownWidth/MaxDropDownItems 값을 설정할 수 있습니다. 그러나 드롭 다운이 셀보다 작을 수 없기 때문에 이는 작동하지 않습니다.

그래서 당신은 컨트롤의 행동 (낮은 확률)을 해결하기 위해 리팩토링을 사용하여

  • 시도 할 수 있습니다;
  • 화면의 오른쪽 가장자리 가까이로 (프로그래밍 방식으로) 창을 이동하는 것을 금지합니다.
  • 자신 만의 컨트롤을 사용하거나 (직접 DataGridViewComboBoxColumn 클래스를 작성하거나 작성) 사용자 정의 그리드를 구입하십시오.