如何:傳送資料至作用中的 MDI 子系
通常,在多文檔介面 (MDI) 應用程式 的內容 中,您必須將資料傳送至使用中的子視窗,例如當使用者將資料從剪貼簿貼到 MDI 應用程式中時。
注意
如需確認哪一個子視窗具有焦點並將其內容傳送至剪貼簿的資訊,請參閱 判斷作用中的 MDI 子系 。
從剪貼簿將資料傳送至使用中的 MDI 子視窗
在 方法中,將剪貼簿上的文字複製到使用中子表單的作用中控制項。
注意
此範例假設有一個 MDI 父表單 (
Form1
) 包含控制項的一或多個 MDI 子視窗 RichTextBox 。 如需詳細資訊,請參閱 建立 MDI 父表單 。Public Sub mniPaste_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles mniPaste.Click ' Determine the active child form. Dim activeChild As Form = Me.ParentForm.ActiveMDIChild ' If there is an active child form, find the active control, which ' in this example should be a RichTextBox. If (Not activeChild Is Nothing) Then Try Dim theBox As RichTextBox = Ctype(activeChild.ActiveControl, RichTextBox) If (Not theBox Is Nothing) Then ' Create a new instance of the DataObject interface. Dim data As IDataObject = Clipboard.GetDataObject() ' If the data is text, then set the text of the ' RichTextBox to the text in the clipboard. If (data.GetDataPresent(DataFormats.Text)) Then theBox.SelectedText = data.GetData(DataFormats.Text).ToString() End If End If Catch MessageBox.Show("You need to select a RichTextBox.") End Try End If End Sub
protected void mniPaste_Click (object sender, System.EventArgs e) { // Determine the active child form. Form activeChild = this.ParentForm.ActiveMdiChild; // If there is an active child form, find the active control, which // in this example should be a RichTextBox. if (activeChild != null) { try { RichTextBox theBox = (RichTextBox)activeChild.ActiveControl; if (theBox != null) { // Create a new instance of the DataObject interface. IDataObject data = Clipboard.GetDataObject(); // If the data is text, then set the text of the // RichTextBox to the text in the clipboard. if (data.GetDataPresent(DataFormats.Text)) { theBox.SelectedText = data.GetData(DataFormats.Text).ToString(); } } } catch { MessageBox.Show("You need to select a RichTextBox."); } } }
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應