datagridview编辑时获取向下键时的问题

问题描述

datagridview编辑时获取向下键时的问题

各位大神:
我在datagridview编辑时,使用editingcontrolshowing事件抓取向下键时,代码被执行了多次(窗口弹出了好几次)。不知道为什么,请大家帮我看看。谢谢啦。代码如下:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex==2 && dataGridView1.CurrentRow.Index==dataGridView1.Rows.Count-1)
{
DataGridViewTextBoxEditingControl dgvtxt = e.Control as DataGridViewTextBoxEditingControl;
dgvtxt.PreviewKeyDown += new PreviewKeyDownEventHandler(dgvtxt_PreviewKeyDown);
}
}

    void dgvtxt_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        if (e.KeyCode == Keys.Down)
        {
            MessageBox.Show("有反应了!");
        }
    }

请大家帮我看看。谢谢!

解决方案

dgvtxt.PreviewKeyDown += new PreviewKeyDownEventHandler(dgvtxt_PreviewKeyDown);
这个只要执行一次,最好放在构造函数,你每次都挂钩,自然就执行多次了。

解决方案二:

解决editorgridpanel编辑时视图向右移动的问题
DataGridView 绑定List 时 排序问题的解决

时间: 2024-08-04 13:41:26

datagridview编辑时获取向下键时的问题的相关文章

图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下

问题描述 图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下 应该怎样修改? 解决方案 源代码有问题,如果不是源代码的问题就是缺少头和库,或者头和库的路径没有被添加到编译器的路径中.先看下出错的源代码文件的出错行,找到对应函数所用的头和库. 解决方案二: 你是不是调用了别的库?我看应该是你代码中用了别的库,但是没有用对.

datagridview的标题栏左右拖动改变顺序时,在什么事件里面获取改变后的那个顺序的标题懒得文本

问题描述 datagridview的标题栏左右拖动改变顺序时,在什么事件里面获取改变后的那个顺序的标题懒得文本 datagridview的标题栏左右拖动改变顺序时,在什么事件里面获取改变后的那个顺序的标题懒得文本

c#-用dataGridView制作表格,在删除时获取选中行ID的时候提示输入字符串格式不正确?

问题描述 用dataGridView制作表格,在删除时获取选中行ID的时候提示输入字符串格式不正确? if (dataGridView1.SelectedRows.Count != 0) { shangpinid = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()); sql = string.Format("DELETE FROM shangpin WHERE ID={0}", shang

datagridview的标题栏左右拖动改变顺序时,如何获取拖动后的顺序?

问题描述 datagridview的标题栏左右拖动改变顺序时,如何获取拖动后的顺序? datagridview的标题栏左右拖动改变顺序时,如何获取拖动后的顺序? 解决方案 你可以通过获得第一个列,然后继续获取该列的next,一直到末尾,这样访问 dataGridView1.Columns.GetFirstColumn(DataGridViewElementStates.Visible) 解决方案二: dataGridView1.Columns[1].Index

excel-C# 导出Excel命名 时 获取保存时目标文件夹 下的 最大流水码

问题描述 C# 导出Excel命名 时 获取保存时目标文件夹 下的 最大流水码 在导出Excel时 excel命名规范为:当前月日+'_'+2位流水码. 例: 在第一次导出到桌面时 文件名:0218_01 , 当再一次导出到桌面时 应是 0218_02 解决方案 如果目录只有你这种格式的文件,Directory.GetFiles得到的是一个升序的文件名列表,最后一项就是最大的,自己split下得到数组,取第二项+1就得到新文件了,如果有其他文件名格式的文件,需要遍历才行了 这个是遍历的 stri

MyBatis插入时获取自增主键方法_java

MyBatis 3.2.6插入时候获取自增主键方法有两种.下面以以MySQL5.5为例通过两种方法给大家介绍mybatis获取自增主键的方法,一起看看吧. 以MySQL5.5为例: 方法1: <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd

MYSQL客户机程序4—在运行时获取连接参数

    6.5 客户机程序4-在运行时获取连接参数     现在我们有了容易修改的防止出现错误的连接代码,我们要了解一些如何做某些比使用NULL 连接参数更灵巧的事情,如在运行时允许用户指定一些值.客户机程序3由于固定连接参数方面的缺陷,要想更改那些值中的任何一个,都必须编辑源文件并重新编译.这十分不方便,特别是想使程序用于其他人时.在运行时指定连接参数的一个通用的方法是使用命令行选项.MySQL分发包中的程序接受两种形式的连接参数,如表6 - 1所示.    与标准的MySQL客户机程序一致,

io-dom4j中因为输出流未正确关闭,导致再次获取单例模式的document时,对象为null

问题描述 dom4j中因为输出流未正确关闭,导致再次获取单例模式的document时,对象为null 一:如下是获取单例模式的document对象. private static Document returndoc(Document docuname, String xmlname) { if (docuname != null) { return docuname; } SAXReader reader = new SAXReader(); // 如果不存在就创建对象. try { docu

PowerShell实现动态获取当前脚本运行时消耗的内存

  这篇文章主要介绍了PowerShell实现动态获取当前脚本运行时消耗的内存,本文直接给出实现脚本函数,需要的朋友可以参考下 想粗略地理解一个脚本消耗了多少内存,或着在你往PowerShell中的变量存结果时,消耗了多少内存,可以借助于下面的函数: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #requires -Version 2   $script:last_memory_usage_byte = 0