2014-04-17 4 views
1

Comment passer d'une valeur child form à un autre child form dans un vb.net parent IMD fenêtres forme - valeur passe de la forme child1 à la forme child2 dans parent IMD - vb.net

child 1 code - 
Dim objKey As New frmKeyboard 
objKey.Show() 

ouvre l'enfant 2 forme

child 2 code - 
Dim Obj As New frmSoll 
Obj.strVari = txtSearch.Text 
Me.Close() 
+0

'txtSearch' zone de texte est dans la forme form1 ou mdi ah? et ces deux formes montrent la forme parentale forme ah? – Sathish

+0

txtSearch zone de texte dans formulaire1, oui les deux spectacles du parent – mcbalaji

+0

'txtSearch.Text' stocké n'importe où et vous montrez la deuxième forme lorsque form1 a montré l'heure ah ou après form1 fermer show form2 ah? – Sathish

Répondre

0

Essayez Like This

Formulaire 2 Button_Click événement

Dim xfr As New Form3 
    xfr.MdiParent = Me.MdiParent 
    xfr.strVari.Text =txtSearch.Text 
    xfr.Show() 

Bouton Form3 Cliquez

For Each xFrm As Form In CType(Me.MdiParent, Object).MdiChildren 

       If xFrm.Name = "Form2" Then 
        CType(xFrm, Object).TextBox2.Text = TextBox1.Text 
       End If 

    Next 

    Me.Close() 
+0

Travailler mais le formulaire3 est plus grand que la taille réelle du formulaire – mcbalaji

+0

qui est le formulaire parent? – Sathish

+0

s'il vous plaît attendez ll convertir votre code ur vb.net et vous faire savoir – mcbalaji

0

Bonjour Une autre possibilité est d'utiliser eventhandler et et envoyer des messages ou valeurs d'un enfant à l'autre via son parent ou même parent.

Voici mon exemple en C# (désolé, je comprends VB.NET, mais ne parle pas :).)

formulaire parent:

/// Mdi parent form 
public partial class ParentForm : Form 
{ 
    private int ChildCounter = 0; 

    public ParentForm() 
    { 
     InitializeComponent();    
     this.IsMdiContainer = true; 
    } 

    //Child forms will hook to this event handler 
    public event MessageEventHandler MessageHandler; 

    /// Sends the message. 
    public void SendMessage(MessageEventArgs e) 
    { 
     if (MessageHandler != null) MessageHandler(e); 
    } 

    /// Adds children form. 
    private void btnAddChildForm_Click(object sender, EventArgs e) 
    {    
     var child = new ChildForm(this) { Name = string.Format("child_{0}", ChildCounter++) }; 
     child.Text = child.Name; 
     child.Show(); 
    } 
} 

/// Event handler delegate 
public delegate void MessageEventHandler(MessageEventArgs e); 

/// Message argument with recipient and message 
public class MessageEventArgs : EventArgs 
{ 
    public string Message { get; set; } 
    public string Recipient { get; set; } 
} 

formulaire enfant:

/// Children form 
public partial class ChildForm : Form 
{ 
    //Contructor which will setup child form 
    public ChildForm(ParentForm parent) 
     : this() 
    { 
     this.MdiParent = parent; 
     if (parent != null) 
      parent.MessageHandler += Message_Received; // Register to receive message from handler 

    } 
    public ChildForm() 
    { 
     InitializeComponent(); 

    } 

    /// Unregister event receiver while closing form. 
    protected override void OnClosing(CancelEventArgs e) 
    { 
     var parent = this.MdiParent as ParentForm; 
     if(parent!=null) 
     { 
      parent.MessageHandler -= Message_Received; 
     } 
     base.OnClosing(e); 
    } 


    /// Manage received message. 
    private void Message_Received(MessageEventArgs e) 
    { 
     // When no ricipient all child form will show message. 
     if (e.Recipient == this.Name || string.IsNullOrEmpty(e.Recipient)) 
     { 
      txtReceivedMessage.Text = e.Message; 
     } 
     this.Refresh(); 
    } 


    /// Sends message when button pressed. 
    private void btnSendMessage_Click(object sender, EventArgs e) 
    { 
     var parent = MdiParent as ParentForm; 
     if (this.MdiParent != null) 
     { 
      // MessageEventArgs contains information about recipient and message. 
      parent.SendMessage(new MessageEventArgs() { Recipient = txtRecipientName.Text, Message = txtMessageToSend.Text }); 

     } 
    } 
} 

enter image description here

Questions connexes