2016-09-10 1 views
-1
public partial class Menu : Form 
    { 

     // this is my main form, What I really want 
     //is not re-enter my name and password 
     //when I call this form from another form button. 
     public Menu() 
     { 

      InitializeComponent(); 

      { 

      } 
      unidadesToolStripMenuItem.Enabled = false; 
      materialesToolStripMenuItem.Enabled = false; 
      datosToolStripMenuItem.Enabled = false; 
      chequeoToolStripMenuItem.Enabled = false; 
      informeToolStripMenuItem.Enabled = false; 
      proyectoToolStripMenuItem.Enabled = false; 
     } 

     // public void MenuDatosComb(); 
     // if() 

     public bool UsuarioLogueado = false; 
     private void Menu_Load(object sender, EventArgs e) 
     { 

      this.Hide(); 
      Login login = new Login(); 
      login.ShowDialog(); 
      if (login.Logueado == true) 
      { 
       this.Show(); 
       UsuarioLogueado = true; 
       toolStripStatusLabel2.Text = "Usuario: " + login.Resultado.Substring(20); 
      } 
      else 
      { 
       this.Close(); 
      } 
     } 
+1

その後、 'Form_Load'メソッドに入れないでください。別の方法でそれを入れてください。そのメソッドを呼び出すのは、実際に呼び出すときだけです。 –

答えて

1

この方法を試してみてくださいユーザーがsuccessfuly接続したときにログイン形式で

、あなたが設定され、ログインフォームに続いて、この

public static bool Logueado { get; private set; } 

のような静的なプロパティを追加するには、メインで今Logueado = true;

フォーム、ロードイベントでは、これを行うだけです:

this.Hide(); 
if (Login.Logueado == true) 
{ 
    // show 
} 
else 
    // close 

これで、loadイベントで新しいログインフォームを作成する必要がなくなり、別のログインフォームが作成されることはありません。

+0

Mr. Haitamありがとうございます。 – alhadwi

+0

私の2番目の質問は、すべてのToolStripMenuItemsを有効にする方法です。今メインメニューがロードされます。 – alhadwi

+0

メニュー全体を無効にしてからロード時に有効にするか、アイテムを無効にしてそれぞれを有効にする必要があります。 – Haytam

関連する問題