Spread中使用键盘Ctrl+C,Ctrl+V进行操作时,会将单元格的格式也copy过去的解决方法
这是spread for winforms 的默认行为,如果你要修改默认行为,你可以按照以下步骤来实现:
1、设置 fpSpread1.AutoClipboard = false;
2、然后在Sprad的KeyDown事件中处理Ctrl+C,并调用fpSpread1.ActiveSheet.ClipboardCopy(FarPoint.Win.Spread.ClipboardCopyOptions.AsString)
3、在KeyDown中的Ctrl+V调用fpSpread1.ActiveSheet.ClipboardPaste()
我写好的例子:
private void Form1_Load(object sender, EventArgs e) { fpSpread1.AutoClipboard = false; } private void fpSpread1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyData == (Keys.Control | Keys.C)) { fpSpread1.ActiveSheet.ClipboardCopy(FarPoint.Win.Spread.ClipboardCopyOptions.AsString); } else if (e.KeyData == (Keys.Control | Keys.V)) { fpSpread1.ActiveSheet.ClipboardPaste(); } }
特别说明:
键盘的 Ctrl + C/V 无法直接实现只复制值操作,只能自定义Ctrl +C/V事件。