当前位置:编程学习 > C#/ASP.NET >>

冰天雪地裸体跪求 datagridview中选中行ctrl+c复制的问题

我的程序是这样的

datagridview中只能选中整行 不能选中一个单元格

选中整行之后 只有一个单元格可以被编辑

现在想按ctrl+c复制选中行的可编辑单元格里的内容

但是ctrl+c的时候只能复制整行的内容,而不能只是复制单元格的内容
右键复制的时候没有问题


请问有没有什么好地解决办法啊

拜托各位了 我是新人  --------------------编程问答-------------------- 快点救命啊 --------------------编程问答-------------------- 问题简单,跪求受不起,等能受得起的回答吧 --------------------编程问答-------------------- LS帮个忙啊 
还有个问题 我在那个编辑框中按左右键移动光标的时候 
当光标在编辑框中第一格或最后一格时 焦点会移到另一个单元格 这个有没有办法解决啊 --------------------编程问答-------------------- 木有人 帮忙啊 --------------------编程问答-------------------- ClipboardCopyMode=Disable
编辑状态就可以用ctrl+c跟ctrl+V了 --------------------编程问答-------------------- 自己写一下好。不要用系统的clip.settext(cell.tostring()) --------------------编程问答-------------------- 自己获取到你要复制的数据,然后再手动添加到剪切板吧 --------------------编程问答--------------------
引用 5 楼  的回复:
ClipboardCopyMode=Disable
编辑状态就可以用ctrl+c跟ctrl+V了

对,我就是要这个!太感谢你了
提供我以前的方法,我重新了键盘事件

if (keyData == (Keys.Control | Keys.C))
                {
                    if (tabParent.SelectedTab.Name == "tabFenbufenxiang" && dgv_Fbfx.CurrentCell != null)
                    {
                        int row = dgv_Fbfx.CurrentCell.RowIndex;
                        int col = dgv_Fbfx.CurrentCell.ColumnIndex;
                        if (col < dgv_Fbfx.Columns.Count - 1)
                        {
                            if (dgv_Fbfx.Rows[row].Cells[col].Value != null)
                            {                                
                                 Clipboard.SetText(dgv_Fbfx.Rows[row].Cells[col].Value.ToString());
                               // Clipboard.SetDataObject(dgv_Fbfx.GetClipboardContent());//将控件选中的数据置于系统剪贴板中
                            }
                            else
                            {
                                Clipboard.SetText("");
                            }
                        }
                    }
                    return true;
                }
                else if (keyData == (Keys.Control | Keys.V))
                {
                    if (tabParent.SelectedTab.Name == "tabFenbufenxiang" && dgv_Fbfx.CurrentCell != null)
                    {                      
                        int col = dgv_Fbfx.CurrentCell.ColumnIndex;
                        if (col < dgv_Fbfx.Columns.Count - 1)
                        {
                            int insertRowIndex = dgv_Fbfx.CurrentCell.RowIndex;
                            string pasteText = Clipboard.GetText();
                            dgv_Fbfx.Rows[insertRowIndex].Cells[col].Value = pasteText;
                        }
                    }
                    return true;
                }
                else
                    return base.ProcessCmdKey(ref msg, keyData);
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,