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 »

Reply via email to