簡體   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