如何使DataGridViewComboBoxColumn扩展到左侧的下拉列表?

时间:2008-10-17 16:24:13

标签: .net drop-down-menu

我有一个DataGridViewCobmoboxColumn必须位于屏幕的最右侧。单元格中的项目比单元格宽度宽,因此下拉列表也比单元格宽,因此用户可以看到顶部选择。当列表下拉时,下拉列表的右侧不可见,因此滚动条也不可见。用户认为只有7个项目可供选择,实际上有很多。

由于这必须在右侧,有没有办法将下拉列表固定在单元格的右侧并向左展开?

我们正在为此项目使用.Net 2.0。由于我们使用VB和C#进行编码,因此我并不太关心特定于语言的答案。我会带点东西......

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你需要自动调整宽度以便显示出来吗? I found a post on how to do that on MSDN.

答案 1 :(得分:0)

我知道这个问题很老,但是:

最好的解决方案是使用类似ToolStripDropDownDirection.AboveLeft的内容 但据我从源代码中看到,没有这样的东西。

因此,另一种方法可能是根据组合框从屏幕右/底侧的位置设置DropDownWidth / MaxDropDownItems的值。 但这不起作用,因为下拉列表不能小于单元格。

所以你可以试试

  • 使用重构来修复控件的行为(机会很低);
  • 禁止移动窗口(以编程方式)靠近屏幕的右边缘;
  • 使用您自己的控件(覆盖或编写您自己的DataGridViewComboBoxColumn类)或购买自定义网格。