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
