Procedure: Gegevens verzenden naar het actieve MDI-kind
Vaak moet u binnen de context van Multiple-Document Interface (MDI)-toepassingengegevens naar het actieve onderliggende venster sturen, bijvoorbeeld wanneer de gebruiker gegevens van het Klembord in een MDI-toepassing plakt.
Notitie
Zie Bepalen van het Actieve MDI-kindvenstervoor informatie over het controleren welk kindvenster de focus heeft en om de inhoud naar het Klembord te sturen.
Gegevens verzenden naar het actieve MDI-onderliggend venster vanaf het Klembord
Kopieer binnen een methode de tekst op het Klembord naar het actieve besturingselement van het actieve kindformulier.
Notitie
In dit voorbeeld wordt ervan uitgegaan dat er een MDI-hoofdformulier (
Form1
) is met een of meer onderliggende MDI-vensters die een RichTextBox besturingselement bevatten. Voor meer informatie, zie MDI Parent Forms maken.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."); } } }
Zie ook
.NET Desktop feedback