繁体   English   中英

windows表单应用程序的剪切复制粘贴功能

[英]windows form applications' cut copy paste functionality

我有Windows窗体应用程序,其中包含多个窗体和控件。 我希望如果用户在任何形式的应用程序的任何控件中选择了一些文本,并单击工具栏操作上的剪切/复制/粘贴按钮,则相应地执行。

我在点击复制按钮时使用C#.net的sendkeys.send(“^ c”)但它不起作用...

或任何1可以判断是否有任何方式来获取所选文本(尽管知道,我的应用程序的形式/控制)。

提前致谢...

您是否使用剪贴板复制并粘贴数据(如果不是使用剪贴板)

有关剪贴板的更多信息,请查看此文章: http//www.geekpedia.com/tutorial188_Clipboard-Copy-and-Paste-with-Csharp.html

我在处理复制事件的方法中使用它:

if (this.ActiveControl is TextBox)
{
      Clipboard.SetDataObject(((TextBox)this.ActiveControl).SelectedText, true);
}
if (this.ActiveControl is RichTextBox)
{
      Clipboard.SetDataObject(((RichTextBox)this.ActiveControl).SelectedText, true);
}
if (this.ActiveControl is ComboBox)
{
       Clipboard.SetDataObject(((ComboBox)this.ActiveControl).SelectedText, true);
}

对于粘贴,这样的事情:

nCursorPosition = ((RichTextBox)this.ActiveControl).SelectionStart;
this.ActiveControl.Text = this.ActiveControl.Text.Insert(nCursorPosition, Clipboard.GetText());

对于你的第二个问题:

您可以使用此解决方案在WinForms应用程序中找到集中控件的首选方法是什么? 找到当前关注的控件。

然后检查,读取选择的是什么类型(即,如果它是TextBox使用SelectedText -Propery http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.selectedtext.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM