微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决单击即可打开下拉列表在数据网格视图中

|| 如何避免在
DataGridView
中使用的ѭ0上双击?现在,我可以单击两次或更多次以查看ѭ1中的下拉项目。第一次选择单元格,第二次单击“ 0”箭头时,它会显示列表。一次单击如何实现相同目的?     

解决方法

        您可以通过订阅网格的“ 4”事件并在那里控制类型“ 5”来实现此目的
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
:链接
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键来删除一行。 而已。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。