Passing Variable to Parent form
-
Christian, i am very sorry for asking so many question, I just started c# few days ago. Please bear with me childLogin.MdiParent = this; --> i though this is to link to the parent form? How do i set to owner property?
This is a link in an MDI form, I've never used it and it apparently only works to create child forms within an MDI app. childLogin.Owner = this; will do what you want.
Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
-
Christian, i am very sorry for asking so many question, I just started c# few days ago. Please bear with me childLogin.MdiParent = this; --> i though this is to link to the parent form? How do i set to owner property?
-
A dialog is not a MdiChild, so childLogin.MdiParent = this; can be ignored. According to my experience:
childForm child=new childForm(); child.ShowDialog(parent);
works. My code and I is not professional. take careful advantage.hmm after i remove that line, and set to owner property, i get this error when i press the login button else if ((txtUsername.Text == username) && (txtPassword.Text == password)) { FrmMain frmMain = (FrmMain)this.MdiParent; frmMain.toolStripStaff.Visible = true; <----ERROR HERE this.Hide(); } Object reference not set to an instance of an object.
-
hmm after i remove that line, and set to owner property, i get this error when i press the login button else if ((txtUsername.Text == username) && (txtPassword.Text == password)) { FrmMain frmMain = (FrmMain)this.MdiParent; frmMain.toolStripStaff.Visible = true; <----ERROR HERE this.Hide(); } Object reference not set to an instance of an object.
FrmMain frmMain = (FrmMain)this.MdiParent your login form doesn't have a parent, so the frmMain will be null when running. try this: in main form: LoginForm login=new LoginForm(); login.ShowDialog(this); if (login.DialogResult==DialogResult.OK) { this.toolStripStaff.Visible = true; ........ in login form: else if ((txtUsername.Text == username) && (txtPassword.Text == password)) { this.DialogResult=DialogResult.OK; ........
-
Hi, i have a login form as a child form. I want to pass the value txtUsername to the parent form. How do i do it?
You can in your child form's constructor set a field to the opener of it, then at anytime call any method on that form using its reference called. ex:
class Parent
{
public void Anymethod(){}
public Parent()
{
Child c = new Child(this);
}
}
class Child
{
private Form Owner;
public Child(Form f)
{Owner = f;}
public void CallParent()
{
Owner.AnyMEthod();
}
} -
FrmMain frmMain = (FrmMain)this.MdiParent your login form doesn't have a parent, so the frmMain will be null when running. try this: in main form: LoginForm login=new LoginForm(); login.ShowDialog(this); if (login.DialogResult==DialogResult.OK) { this.toolStripStaff.Visible = true; ........ in login form: else if ((txtUsername.Text == username) && (txtPassword.Text == password)) { this.DialogResult=DialogResult.OK; ........
Great! Thanks alot! So how do i pass the value of the txtUsername inside my Login to my statusstrip at my mainform stripLblLoginAs.Text = "Login As :" + login.txtUsername.Text;
-
Great! Thanks alot! So how do i pass the value of the txtUsername inside my Login to my statusstrip at my mainform stripLblLoginAs.Text = "Login As :" + login.txtUsername.Text;