【问题标题】:How to reproduce the behaviour of a real ComboBox in when using a DataGridViewComboBoxColumn?使用 DataGridViewComboBoxColumn 时如何重现真实 ComboBox 的行为?
【发布时间】:2014-07-23 08:44:31
【问题描述】:

主题介绍:

我最近注意到,当您使用 DataGridViewColumn-Class 来 在 DataGridView 这个里面创建一个 DataGridViewComboBoxColumn “ComboBox”的行为与熟悉的 ComboBox 行为不同 使用 System.Windows.Forms.Control-Class 创建的 ComboBos。

当你点击一个传统的 ComboBox 时,会打开一个 DropDownMenu,这也是 适用于 DataGridViewComboBoxColumn-ComboBos 但似乎有点 有点延迟。

当你双击一个传统的 ComboBox 时,你可以输入你自己的 文本,然后当您按下回车键时,这个自己的文本将显示在 ComboBox 代替预先确定的选定文本 ComboBox 的 DropDownMenu 内的文本。

来到我的具体问题:

当我使用 DataGridViewComboBoxColumn-ComboBox 并双击 如果我没有能力创建自己的文本,ComboBox 将 之后显示。

我做了什么:

我尝试使用不同的方法在互联网上搜索此问题 用于描述问题和/或可能的解决方案的词语,但我 没有发现完全相同的问题。大多数线程都有问题 像“如何在 DataGridView 中使用 ComboBox”和答案 从“使用 DataGridViewComboBoxColumn”到“绘制你自己的 ComboBox 使用 ComboBoxRenderer-Class”。我发现了很多代码 示例,但 NONE 有能力做我上面描述的事情”。

我希望:

如果您曾经或曾经遇到过此类问题,甚至 我提到的具体问题,如果你能,那将非常有帮助 无论您解决了什么问题,都分享您对问题的思考过程 问题与否。任何想法和想法都可以指导我找到解决方案。

谢谢!

【问题讨论】:

  • 您的意思是要允许用户在 datagridview 组合框中手动输入?让用户添加一个尚未在组合框列表中的项目?
  • @Kinyanjui Kamau 完全正确。
  • 好的,我找到了一个解决方案,它与创建一个包含常规 ComboBox 的自己的 DataGridView 类型有关,然后在特定的 DataGridViewColumn 中使用该类型。

标签: c# .net datagridview combobox datagridviewcombobox


【解决方案1】:

看看这个post。如果不存在,请按照允许您将新值添加到列表的代码。

确保 DataGridView 的 EditMode 属性设置为 EditOnKeystrokeOrF2 并且 ReadOnly 属性设置为 False。

【讨论】:

  • 谢谢!将尝试此解决方案并检查功能是否像我习惯的 ComboBox 行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多