Jas*_*ska 3 c# datagridview winforms
在Windows窗体中,如果我创建一个包含几行和列的简单DataGridView控件,然后将SelectionMode属性设置为FullRowSelect,我会使用剪贴板的复制功能获得奇怪的行为:
当选择一行并且用户点击ctrl-c时,整个行将被复制到剪贴板,单元格之间有\ t \n字符,如预期的那样.
当用户双击并编辑单个单元格时,在该单元格内部用户选择文本的一部分并点击ctrl-c,STILL将复制整行,而不是所选文本的部分!
作为一种解决方法,我尝试在keydown事件上执行剪贴板复制,但是当编辑控件处于编辑模式时不会触发事件.
有什么建议?
作为workarround:
编辑时禁用剪贴板副本
private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
this.dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.Disable;
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
this.dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2002 次 |
| 最近记录: |