Porady: wysyłanie danych do Active MDI Child
Często w kontekście aplikacji interfejsu wielu dokumentów (MDI) należy wysłać dane do aktywnego okna podrzędnego, na przykład gdy użytkownik wkleja dane ze Schowka do aplikacji MDI.
Uwaga
Aby uzyskać informacje na temat sprawdzania, które okno podrzędne ma fokus i wysyła jego zawartość do Schowka, zobacz Określanie aktywnego podrzędnego elementu MDI.
Aby wysłać dane do aktywnego okna podrzędnego MDI ze Schowka
W ramach metody skopiuj tekst w Schowku do aktywnej kontrolki aktywnego formularza podrzędnego.
Uwaga
W tym przykładzie przyjęto założenie, że istnieje formularz nadrzędny MDI (
Form1
), który zawiera co najmniej jedno okno podrzędne MDI zawierające kontrolkę RichTextBox . Aby uzyskać więcej informacji, zobacz Tworzenie formularzy nadrzędnych 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."); } } }
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla