//可在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. nyoj--586--疯牛(二分&&枚举)

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  2. POJ 3269 中位数

    题意: 思路: 这道题坑也不少.. 你准备好脑洞了么? 首先 要认真审题 题目中有说:"没有两头牛的吃草位置是相邻的" 这句话让我们省了很多的事儿 (Discuss里有的大神就入了 ...

  3. 配置 NTP 时间服务器

    对于我们当前这种案例,主要目标是把 z01 这台服务器设置为时间服务器,剩下的 z02,z03 这两台机器同步 z01 的时间,我们需要这样做的原因是因为,整个集群架构中的时间,要保持一致. ** 检 ...

  4. WPF XAML

    xmlns 在xml中专门用于声明名字控件, xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 是 ...

  5. 引用axiv文献的问题

    首先找了一下对8种常见引用格式进行说明的文章 https://blog.csdn.net/wkd22775/article/details/51798927 然后就是水木社区大神们的记录http:// ...

  6. 洛谷P3355 骑士共存问题 二分图_网络流

    Code: #include<cstdio> #include<cstring> #include<queue> #include<vector> #i ...

  7. BZOJ 1594 [Usaco2008 Jan]猜数游戏(线段数)

    1594: [Usaco2008 Jan]猜数游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 626  Solved: 260[Submit][S ...

  8. 【Tool】Linux下的Spark安装及使用

    1. 确保自己的电脑安装了JAVA Development Kit JDK, 用来编译Java应用, 如 Apache Ant, Apache Maven, Eclipse. 这里是我们安装Spark ...

  9. 推荐学习《组织与管理研究的实证方法(第2版)》中文PDF

    在写文章论文时,会涉及到观点论证,需要掌握一些实证方法. 建议学习<组织与管理研究的实证方法(第2版)>,对管理研究中涉及的方法进行了介绍,例如实验室研究,二手数据的研究,实地研究等,这对 ...

  10. ZOJ 3369 Saving Princess

    Saving Princess Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on ZJU. Origina ...