• datagridview 粘贴复制


    excel和datagridview同根同源,有时候我们希望从excel中复制粘贴一些数据到datagridview中

    界面设计

    简单的一个datagridview  里面有四列

    然后一个内嵌 菜单,关联上

    keydown事件,以及粘贴和删除事件

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
               
            }
    
            private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Control && e.KeyValue == 86) 
                {
                    ZhanTie();
                }
            }
    
    
    
            private void ZhanTie()
            {   
                //这里是取剪贴板里的内容,如果内容为空,则退出
                string pastTest = Clipboard.GetText();
                if (string.IsNullOrEmpty(pastTest)) return;
                //excel中是以 空格 和换行来 当做字段和行,所以用\n \r来分隔
                string[] lines = pastTest.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string line in lines)
                {
                    string[] strs = line.Split(new char[] { '\t' });
                    dataGridView1.Rows.Add(strs);
                }
            }
    
            private void PaestMenuItem_Click(object sender, EventArgs e)
            {
                ZhanTie();
            }
    
            private void DeleteMenuItem_Click(object sender, EventArgs e)
            {
                if (dataGridView1.CurrentRow == null ||dataGridView1.CurrentRow.Index==dataGridView1.Rows.Count-1) return;
    
                dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
            }
        }

    代码经过vs2010测试通过,至于datagirdview的复制,你可以直接用ctrl+c复制到txt中

  • 相关阅读:
    正则表达式
    70. 爬楼梯
    最大子序和
    动态规划
    中序遍历
    两数相加基础
    保证一个线程最后执行或者最先执行CyclicBarrier
    保证一个线程最后执行使用CountDownLatch
    两个线程交替执行
    单列模式double check的问题
  • 原文地址:https://www.cnblogs.com/fish124423/p/2561311.html
Copyright © 2020-2023  润新知