Csharp/C#教程:单击即可打开下拉列表(在数据网格视图中)项目分享


单击即可打开下拉列表(在数据网格视图中)项目

如何避免双击DataGridView使用的DropDownButton ? 现在,我可以通过单击两次或多次来查看DataGridView的下拉项。 第一次选择单元格,第二次单击DropDownButton箭头时,它显示列表。 如何通过一次点击实现同样的目标?

您可以通过订阅网格的EditingControlShowing事件并在那里控制ComboBox类型来实现此目的

 ComboBox ctl = e.Control as ComboBox; ctl.Enter -= new EventHandler(ctl_Enter); ctl.Enter += new EventHandler(ctl_Enter); 

在Enter事件中,使用该属性

 void ctl_Enter(object sender, EventArgs e) { (sender as ComboBox).DroppedDown = true; } 

DroppedDown表示名称是否显示下拉区域,因此无论何时输入控件,都会将其设置为true并显示项目而无需进一步点击。

DataGridView EditMode属性设置为EditOnEnter : link

DataGridView.EditMode – 获取或设置一个值,指示如何开始编辑单元格。

EditOnEnter – 当单元格获得焦点时开始编辑。

“将DataGridView的EditMode属性设置为EditOnEnter”对我有用,但我发现了另一个问题:用户只能通过选择并按DEL键来删除行。 所以,谷歌搜索给了我另一种方式来做到这一点。 只需捕获事件CellEnter并检查单元格是否是适当的类型,以执行适当的操作,如下面的示例代码:

 private void Form_OnLoad(object sender, EventArgs e){ dgvArmazem.CellEnter += new DataGridViewCellEventHandler(dgvArmazem_CellEnter); } void dgvArmazem_CellEnter(object sender, DataGridViewCellEventArgs e) { DataGridView dg = (DataGridView)sender; if (dg.CurrentCell.EditType == typeof(DataGridViewComboBoxEditingControl)) { SendKeys.Send("{F4}"); } } 

现在ComboBox下降得更快,用户仍然通过选择一行并按DEL键删除一行。

而已。

上述就是C#学习教程:单击即可打开下拉列表(在数据网格视图中)项目分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/960352.html

(0)
上一篇 2021年11月24日
下一篇 2021年11月24日

精彩推荐