I thought you want to use MDI for login form. If so, you need to add log.MdiParent = this; here:
Login log = new Login(); log.MdiParent = this; log.Show(); Note: to make your login visible, place the checkUser(); not in "public Main()" constructor but in Main_Load(). The "Object reference not set to an instance of an object" is because of your ParentForm or this.MdiParent is null at here: Main ParentForm = (Main)this.MdiParent; and sure will throw the error when you use it: ParentForm.menuStrip1.Enabled = false; On May 17, 2:10 pm, sahm <[email protected]> wrote: > Hi every One > > Good Day > > I'm still having problem with this > I write the code like this > > //////////////////////////////////// > Login log = new Login(this); > log.ShowDialog(); > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > this error is showing > /////////////////////////////////////// > Error 1 'Archive_System.Login' does not contain a constructor that > takes '1' arguments E:\Projects\C#\Archive System\Archive System > \MainForm.cs 68 25 Archive System > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > and if I writ is like this > ////////////////////////////// > Login log = new Login(); > log.ShowDialog(this); > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > Run time error is showing after I Enter the user name and the password > /////////////////////////////////// > Object reference not set to an instance of an object > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > and this is my code > > MainForm > ///////////////////////////////////// > using System; > using System.Collections.Generic; > using System.ComponentModel; > using System.Data; > using System.Drawing; > using System.Linq; > using System.Text; > using System.Windows.Forms; > using System.Management; > > namespace Archive_System > { > public partial class Main : Form > { > public Main() > { > try > { > InitializeComponent(); > this.WindowState = FormWindowState.Maximized; > this.FormBorderStyle = FormBorderStyle.FixedSingle; > this.Closing += new CancelEventHandler(Form_Closing); > > this.menuStrip1.Enabled = false; > //this.Enabled = false; > checkUser(); > } > catch (Exception exp) > { > string ms = exp.Message; > MessageBox.Show(this, ms, "System Error", > MessageBoxButtons.OK, MessageBoxIcon.Error); > > } > } > > System.Data.SqlClient.SqlConnection con; > > private void userToolStripMenuItem_Click(object sender, > EventArgs e) > { > try > { > createUser cu = new createUser(); > cu.MdiParent = this; > cu.Show(); > > } > catch (Exception exp) > { > string ms = exp.Message; > MessageBox.Show(this, ms, "System Error", > MessageBoxButtons.OK, MessageBoxIcon.Error); > } > } > > private void aboutToolStripMenuItem_Click(object sender, > EventArgs e) > { > About ab = new About(); > ab.MdiParent = this; > ab.Show(); > } > /*public void setPreviousForm(frmMain mainFrm) > { > prevForm = mainForm; > }*/ > public void checkUser() > { > Login log = new Login(); > //log.setPreviousForm(this); > log.ShowDialog(this); > > } > > private void Main_Load(object sender, EventArgs e) > { > con = new System.Data.SqlClient.SqlConnection(); > con.ConnectionString = "Data Source=mr-x\ > \SQLExpress2008;Initial Catalog=archive;Integrated Security=True"; > con.Open(); > > } > > public void Form_Closing(object sender, CancelEventArgs cArgs) > { > con.Close(); > > } > > private void menuStrip1_ItemClicked(object sender, > ToolStripItemClickedEventArgs e) > { > > } > > }} > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > Login > ///////////////////////////////////// > using System; > using System.Collections.Generic; > using System.ComponentModel; > using System.Data; > using System.Drawing; > using System.Linq; > using System.Text; > using System.Windows.Forms; > > namespace Archive_System > { > public partial class Login : Form > { > public Login() > { > InitializeComponent(); > } > //private static new MainForm ParentForm = null; > > /*public Login(MainForm APrent):this() > { > Main ParentForm =(Main) this.MdiParent; > }*/ > > private void OKbutton_Click(object sender, EventArgs e) > { > string un = userNametextBox.Text; > string ps = PasswardMaskedTextBox.Text; > > if (un == "sahm" || ps == "java") > { > MessageBox.Show(this, "Login Work", "", > MessageBoxButtons.OK, MessageBoxIcon.Information); > //ParentForm.menuStrip1.Enabled = ! > ParentForm.menuStrip1.Enabled; > Main ParentForm = (Main)this.MdiParent; > ParentForm.menuStrip1.Enabled = false; > > } > else > { > MessageBox.Show(this, "Login not work", "", > MessageBoxButtons.OK, MessageBoxIcon.Information); > } > > } > > private void CancelButton_Click(object sender, EventArgs e) > { > this.Close(); > } > > }} > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > Thank every one > > Best > > Salim > > On May 16, 10:45 am, sahm <[email protected]> wrote: > > > Hi CallMeLann > > > Thank for your help I'll try this > > > Best > > Salim > > > On May 15, 11:23 am, CallMeLaNN <[email protected]> wrote: > > > > Because you use: > > > > Login log = new Login(); > > > > In MainForm but you declare: > > > > public Login(MainForm APrent):this() > > > > Which LoginForm need APrent value that is MainForm. > > > To solve change to this: > > > > Login log = new Login(this); > > > > But, I recommend u to use MdiParent instead. > > > > 1. Remove the "private static new MainForm ParentForm = null;" no need > > > to use this. > > > 2. login constructor: let it default constructor (no parameter): > > > "public Login()" > > > 3. To disable the menu use like this: (Im not sure your main form type > > > is Main or MainForm based on your code, I assume Main) > > > > Main ParentForm = (Main) this.MdiParent > > > ParentForm.menuStrip1.Enabled = False > > > > dont use ! for toggle it, it can be wrong toggle, instead, assign true > > > or false if you sure. > > > > On May 14, 4:01 pm, sahm <[email protected]> wrote: > > > > > Hi Benj Nunez > > > > > Good Day > > > > > I try to do that but some error show up > > > > and this is my code > > > > > the child form > > > > //////////////////////////////////////////////////// > > > > > using System; > > > > using System.Collections.Generic; > > > > using System.ComponentModel; > > > > using System.Data; > > > > using System.Drawing; > > > > using System.Linq; > > > > using System.Text; > > > > using System.Windows.Forms; > > > > > namespace Archive_System > > > > { > > > > public partial class Login : Form > > > > { > > > > public Login() > > > > { > > > > InitializeComponent(); > > > > } > > > > private static new MainForm ParentForm = null; > > > > > public Login(MainForm APrent):this() > > > > { > > > > ParentForm = APrent; > > > > } > > > > > private void OKbutton_Click(object sender, EventArgs e) > > > > { > > > > string un = userNametextBox.Text; > > > > string ps = PasswardMaskedTextBox.Text; > > > > > if (un == "sahm" || ps == "java") > > > > { > > > > MessageBox.Show(this, "Login Work", "", > > > > MessageBoxButtons.OK, MessageBoxIcon.Information); > > > > ParentForm.menuStrip1.Enabled = ! > > > > ParentForm.menuStrip1.Enabled; > > > > > } > > > > else > > > > { > > > > MessageBox.Show(this, "Login not work", "", > > > > MessageBoxButtons.OK, MessageBoxIcon.Information); > > > > } > > > > > } > > > > > private void CancelButton_Click(object sender, EventArgs e) > > > > { > > > > this.Close(); > > > > } > > > > > } > > > > > } > > > > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ > > > > the main form > > > > ////////////////////////////////////////////////// > > > > > using System; > > > > using System.Collections.Generic; > > > > using System.ComponentModel; > > > > using System.Data; > > > > using System.Drawing; > > > > using System.Linq; > > > > using System.Text; > > > > using System.Windows.Forms; > > > > using System.Management; > > > > > namespace Archive_System > > > > { > > > > public partial class Main : Form > > > > { > > > > public Main() > > > > { > > > > try > > > > { > > > > InitializeComponent(); > > > > this.WindowState = FormWindowState.Maximized; > > > > this.FormBorderStyle = FormBorderStyle.FixedSingle; > > > > this.Closing += new CancelEventHandler(Form_Closing); > > > > > this.menuStrip1.Enabled = false; > > > > //this.Enabled = false; > > > > checkUser(); > > > > } > > > > catch (Exception exp) > > > > { > > > > string ms = exp.Message; > > > > MessageBox.Show(this, ms, "System Error", > > > > MessageBoxButtons.OK, MessageBoxIcon.Error); > > > > > } > > > > } > > > > > System.Data.SqlClient.SqlConnection con; > > > > > private void userToolStripMenuItem_Click(object sender, > > > > EventArgs e) > > > > { > > > > try > > > > { > > > > createUser cu = new createUser(); > > > > cu.MdiParent = this; > > > > cu.Show(); > > > > > } > > > > catch (Exception exp) > > > > { > > > > > > ... > > read more »
