Como: Enviar dados para o filho MDI ativo
Normalmente, dentro do contexto de Aplicativos da Interface de Documentos Múltiplos (MDI), você precisará enviar dados para o janela filho ativa, como quando o usuário cola dados da Área de transferência em um aplicativo MDI.
Observação |
---|
Para obter informações sobre como verificar qual janela filho tem o foco e enviar seu conteúdo para a Área de transferência, consulte Determinando o Filho MDI Ativo. |
Para enviar dados da Área de Transferência para a janela filho MDI ativa
Dentro de um método, copie o texto da área de transferência para o controle ativo do formulário ativo filho.
Observação Este exemplo assume que há um formulário pai MDI (Form1) que possui uma ou mais janelas filho MDI que contém um controle RichTextBox. Para obter mais informações, consulte Criando formulários pai 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."); } } }
private void mniPaste_Click(System.Object sender, System.EventArgs e) { // Determine the active child form. Form activeChild = this.get_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.get_ActiveControl())); if ( theBox != null ) { // Put the selected text on the Clipboard. Clipboard.SetDataObject(theBox.get_SelectedText()); } } catch(System.Exception exp) { MessageBox.Show("You need to select a RichTextBox."); } } }
Consulte também
Tarefas
Como: Criar formulários-pai MDI
Como: Criar formulários filho MDI
Como: Determinar o filho MDI ativo
Como: Organizar formulários filho MDI