Procedura: inviare dati al figlio MDI attivo
Spesso, all'interno del contesto delle applicazioni MDI (Multiple-Document Interface), è necessario inviare dati alla finestra figlio attiva, ad esempio quando l'utente incolla i dati dagli Appunti in un'applicazione MDI.
Nota
Per informazioni sulla verifica dello stato attivo della finestra figlio e sull'invio del relativo contenuto agli Appunti, vedere Determinazione del figlio MDI attivo.
Per inviare dati alla finestra figlio MDI attiva dagli Appunti
All'interno di un metodo copiare il testo negli Appunti nel controllo attivo del form figlio attivo.
Nota
In questo esempio si presuppone che sia presente un form padre MDI (
Form1
) con una o più finestre figlio MDI contenenti un RichTextBox controllo . Per altre informazioni, vedere Creazione di moduli padre 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."); } } }
Vedi anche
.NET Desktop feedback