右键复制DataGridView单元格部分值
比如某个单元格包含数据:焊机:ARC160III R10205(I072) BRIMA商标 ARC160Ⅲ Z108/R102
而我只选择单元格的 ARC160III R10205(I072),那么右键只拷贝这一部分

不使用系统给的复制和Ctrl+C功能,由C#工具栏提供的contextMenuStrip控件添加复制功能

解决方案 »

  1.   

    http://blog.csdn.net/chenweitang123/article/details/4942973
      

  2.   

    参考http://www.cnblogs.com/liye/archive/2010/09/29/1838709.html
      

  3.   


    dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);        void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                if (dataGridView1.CurrentCellAddress.Y >= 0)
                {
                    TextBox textBox = e.Control as TextBox;
                    if (textBox != null)
                    {
                        textBox.ContextMenuStrip = contextMenuStrip1;    //使用自定义弹出菜单,替换系统默认弹出菜单
                    }
                }
            }        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (dataGridView1.IsCurrentCellInEditMode)
                {
                    TextBox textBox = dataGridView1.EditingControl as TextBox;
                    if (textBox != null)
                    {
                        //得到选中部分的文本。接下来可以使用ClipBoard,或者仅赋给字符串变量仅供程序内部使用
                        MessageBox.Show(textBox.SelectedText);
                    }
                }
            }