//可在dgv中复制、剪切、粘贴、删除数据

        /// <summary>
/// DataGridView复制
/// </summary>
/// <param name="dgv">DataGridView实例</param>
public static void dgvCopy(DataGridView dgv)
{
if (dgv.GetCellCount(DataGridViewElementStates.Selected) > )
{
try
{
Clipboard.SetDataObject(dgv.GetClipboardContent());
}
catch (Exception MyEx)
{
MessageBox.Show(MyEx.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
} /// <summary>
/// DataGridView剪切
/// </summary>
/// <param name="dgv">DataGridView实例</param>
public static void dgvCut(DataGridView dgv)
{
dgvCopy(dgv);
try
{
dgvDel(dgv);
}
catch (Exception MyEx)
{
MessageBox.Show(MyEx.Message);
} } ///<summary>
/// DataGridView删除内容
/// </summary>
/// <param name="dgv">DataGridView实例</param>
public static void dgvDel(DataGridView dgv)
{
try
{
int k = dgv.SelectedCells.Count;
for (int i = ; i < k; i++)
{
dgv.SelectedCells[i].Value = "";
}
}
catch (Exception MyEx)
{
MessageBox.Show(MyEx.Message);
}
} /// <summary>
/// DataGridView粘贴
/// </summary>
/// <param name="dt">DataGridView数据源</param>
/// <param name="dgv">DataGridView实例</param>
public static void dgvPaste(DataGridView dgv)
{
try
{
//最后一行为新行
int rowCount = dgv.Rows.Count - ;
int colCount = dgv.ColumnCount;
//获取剪贴板内容
string pasteText = Clipboard.GetText();
//判断是否有字符存在
if (string.IsNullOrEmpty(pasteText))
return;
//以换行符分割的数组
string[] lines = pasteText.Trim().Split('\n');
int txtLength = lines.Length; //Lance.2015-12-03
int cRowIndex = dgv.SelectedCells[].RowIndex;
int cColIndex = dgv.SelectedCells[].ColumnIndex;
for (int i = ; i < txtLength; i++)
{
string[] words = lines[i].Split('\t');
for (int j = ; j < words.Length; j++)
{
dgv.Rows[cRowIndex + i].Cells[cColIndex + j].Value = words[j];
}
} }
catch (Exception MyEx)
{
MessageBox.Show(MyEx.Message);
}
}
 Keys key = e.KeyCode;

            //Delete删除内容
if (key == Keys.Delete)
{
TextDaseOperationClass.dgvDel(dataGridView1);
} if (e.Control!=true)//如果没按Ctrl键
return;
switch (key)
{
case Keys.C:
//按下Ctrl+C复制
TextDaseOperationClass.dgvCopy(dataGridView1);
break; case Keys.V:
//按下Ctrl+V粘贴
TextDaseOperationClass.dgvPaste(dataGridView1);
break; case Keys.X:
//按下Ctrl+V剪切
TextDaseOperationClass.dgvCut(dataGridView1);
break;
}

c#DataGridView复制粘贴删除功能的更多相关文章

  1. Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法

    Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法 解决: 打开菜单并选择Tools-prefrence-Accelerators-Load Pres ...

  2. vim复制,粘贴,删除,撤销,替换,光标移动等用法

    我接触linux的时候,用的是nano这个文本编辑器,个人觉得他的最大优点就是方便,快速.打开文件,修改文件,到退出都十分的快速,简单.这一点上比vi,vim要强,但是nano不能显示彩色字,不能进行 ...

  3. IE屏蔽鼠标右键、禁止复制粘贴等功能

    <body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...

  4. Java递归实现操作系统文件的复制、粘贴和删除功能

    通过Java IO递归实现操作系统对文件的复制.粘贴和删除功能,剪切=复制+粘贴+删除 代码示例: import java.io.BufferedInputStream; import java.io ...

  5. vi--文本编辑常用快捷键之复制-粘贴-替换-删除

    这几天刚开始接触vi编辑器,慢慢开始熟悉vi,但是还是感觉诸多不便,比如说复制粘贴删除操作不能用鼠标总是感觉不自在,而且我一般习惯用方向键移动光标,更增加了操作的复杂度,今天在网上搜索了一下,vim编 ...

  6. 通过如何通过js实现复制粘贴功能

    在ie中window.clipboardData(剪切板对象)是可以被获取,所以利用这个方法我们可以实现在IE当中复制粘贴的功能,demo如下! <html> <head> & ...

  7. Eclipse/MyEclipse中使用复制粘贴功能卡的解决办法

    最近在MyEclipse中编辑代码时,使用快捷键进行复制粘贴,经常会导致编辑器短暂的停顿,光标不跟随,居然反应不过来,几近假死. 想来想去应该是编辑上的什么配置或者是IDE的什么功能导致,于是进入Pr ...

  8. Vim 安装、配置及复制粘贴操作

    1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: set cind ...

  9. 转载:vim的复制,删除,粘贴,块操作以及快速替换功能

    掌握如下命令有什么好办法,我可以告诉你唯手熟尔!!多看多练对于VIM而言,复制,删除,粘贴的操作应该是非常多的.这次也做一个总结,关于处理VIM下的复制,删除,粘贴等操作.学会使用帮助文件,命令的帮助 ...

随机推荐

  1. keras安装及使用

    安装全称参考https://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/ 环境中已配置cuda8.0.cudnn5.0,ub ...

  2. Process Explorer

    https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer Ever wondered which program ...

  3. excel文件使用html导出

    <table><tr><td>1</td></tr><tr><td>2</td></tr>& ...

  4. 51nod 1096 距离之和最小 思维题,求中位数

    题目: 在一条直线上,与两个点距离之和最小的点,是怎样的点? 很容易想到,所求的点在这两个已知点的中间,因为两点之间距离最短. 在一条直线上,与三个点距离之和最小的点,是怎样的点? 由两个点的规律,我 ...

  5. Epplus做Excel的数据透视

    //表格的范围需要自己定义 var epplus = new ExcelPackage(); var sheet = epplus.Workbook.Worksheets.Add("Shee ...

  6. tp框架--------where("1")

    今天看代码的时候看到一个令我难以理解的sql查询语句,这是tp框架里的 return $this->where("1")->order('ar_id desc')-&g ...

  7. SAI 绘画一个卡通动漫人物详解

    本教程介绍使用SAI 绘画一个卡通漫画人物教程 ,教程很详细,动起你的小手一起来试试吧! 软件下载:http://www.dongmansoft.com/xiazai.html

  8. 总结Ajax的一些细节

    Ajax的总结 主要从Ajax是什么?可以用来干什么?基本要素,优缺点,执行过程,跨域的解决方案等几方面来解释. Ajax是什么? Ajax主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷 ...

  9. Node_进阶_7

    Node进阶第七天 一.复习 一.索引   数据库中,根据一个字段的值,来寻找一个文档,是很常见的操作.比如根据学号来找一个学生.这个学号是唯一的.只要有学号,就能唯一确认一个学生的文档.学号这个属性 ...

  10. 红黑树(RBTREE)之上-------构造红黑树

    该怎么说呢,现在写代码的速度还是很快的,很高兴,o(^▽^)o. 光棍节到了,早上没忍住,手贱了一般,看到*D的优惠,买了个机械键盘,晚上就到了,敲着还是很舒服的,和老婆炫耀了一把哈哈. 光棍节再去* ...