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)
> > > {
> > > 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)
> > > {
>
> > > }
>
> > > }
>
> > > }
>
> > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
>
> > > and this is the error message
>
> > > ///////////////////////////////////////////
> > > Error 1 The type or namespace name 'MainForm' could not be found
> > > (are
> > > you missing a using directive or an assembly reference?)
> > > E:\Projects\C#
> > > \Archive System\Archive System\Login.cs 18 28 Archive System
>
> > > Error 2 The type or namespace name 'MainForm' could not be found
> > > (are
> > > you missing a using directive or an assembly reference?)
> > > E:\Projects\C#
> > > \Archive System\Archive System\Login.cs 20 22 Archive System
>
> > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
>
> > > thank you for your help
> > > Bes
> > > Salim
> > > On May 14, 3:55 am, Benj Nunez <[email protected]> wrote:
>
> > > > You're welcome. :-)
>
> > > > On May 13, 5:03 pm, sahm <[email protected]> wrote:
>
> > > > > Hi Benj Nunez
>
> > > > > thank you for your help
>
> > > > > Salim
>
> > > > > On May 5, 1:02 pm, Benj Nunez <[email protected]> wrote:
>
> > > > > > Here's how:
>
> > > > > > To begin with, let's assume you already have Form1 which has the
> > > > > > menustrip. Make sure
> > > > > > the modifier of your menustrip is set to public. We will construct
> > > > > > Form2 (the childform):
>
> > > > > > 1) Create a Newform(the childform)
> > > > > > 2) declare a Form1 variable in your childformlike:
>
> > > > > > private static new Form1 ParentForm = null;
>
> > > > > > 3) define a second constructor, with Form1 as a parameter, like:
>
> > > > > > public Form2(Form1 AParent): this()
> > > > > > {
> > > > > > ParentForm = AParent;
> > > > > > }
>
> > > > > > 4) drag a button in your childform.
> > > > > > 5) double click your button and type this:
>
> > > > > > private void btnEnable_Click(object sender, EventArgs e)
> > > > > > {
> > > > > > ParentForm.menuStrip1.Enabled = !
> > > > > > ParentForm.menuStrip1.Enabled;
> > > > > > }
>
> > > > > > Now go back to your Form1 class to instantiate Form2. In this
> > > > > > example,
> > > > > > put
> > > > > > a button in Form1. Double-click the button in Form1 and add this
> > > > > > code:
>
> > > > > > Form2 form2 = new Form2(this);
> > > > > > form2.ShowDialog();
>
> > > > > > Pass "this" to Form2. "this" refers to the Form1 instance. It allows
> > > > > > you
> > > > > > to access any controls in Form2. Provided that the controls in Form1
> > > > > > have
> > > > > > their modifiers set to public.
>
> > > > > > Hope this helps.
>
> > > > > > Benj
>
> > > > > > On May 3, 9:31 pm, sahm <[email protected]> wrote:
>
> > > > > > > Hi every one
> > > > > > > How to can IenableordisableMenuStripin ParentFormfrom chiliad
> > > > > > >form
> > > > > > > Best
> > > > > > > Salim