2011-08-11 15 views
0

私はmasterpageとsessionでASP.NETに使用します。私はmasterpageにメニューを置く。 sucsessfulyログイン後、私は変数をセッションに保存します。C#WinForm Menu Strip

私はWinformで作業しています。そうsuccsseulyログイン後、私は変数に保存し、私は
変数と私はフォーム

と交換してマスターページと交換 セッションは、セッションのinstedとオフを切り替え、パネルにして、メニューストリップを使用しています。

public partial class Principale : Form 
    static string _ClientId; 
    public static string ClientId 
    { 
     get { return _ClientId; } 
     set { _ClientId = value; } 
    } 


    LeOrdre_BL oOrdre_BL = new LeOrdre_BL(); 
    LeOrdreStatut_Entite_BL oOrdreStat_BL = new LeOrdreStatut_Entite_BL(); 

    public Principale() 
    { 
     InitializeComponent();  
     ClientId = LoginData.Trim().Substring(0, LoginData.Trim().Length - 1); 
     panelControl_Ordre.Hide(); 
     panelControl_Mag.Hide(); 
    } 

    private void ordreToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     panelControl_Ordre.Show(); 
     panelControl_Mag.Hide(); 
     GetDataOrdre();    
    } 

    private void magasinierToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     panelControl_Ordre.Hide(); 
     panelControl_Mag.Show();    
    } 

    public void GetDataOrdre() 
    { 
     try 
     { 

      bindingSource_OdreStatus.DataSource = oOrdreStat_BL.Get_All_OrdreStatut(); 
      STATUT_ORDRE.DataSource = bindingSource_OdreStatus; 
      STATUT_ORDRE.DisplayMember = "LIBELLE"; 
      STATUT_ORDRE.ValueMember = "NO"; 



      bindingSource_Ordre.DataSource = oOrdre_BL.Get_Ordre_BL();    
      dataGridView_ordre.DataSource = bindingSource_Ordre; 
      dataGridView_ordre.DataMember = "OrdreTable"; 

     } 
     catch (Exception excThrown) 
     { 
      lbl_Princ_Err.Text = excThrown.Message; 
     } 
    } 

これを行うには正しい方法ですか、WinformでASP.NET Masterpageを置き換える別のアイデアはありますか?

Thanx in advance

+0

これは、パネルを同じフォームにしたいが、 'Principale'の内容を変更するのではなく、新しいフォームを開く方が良いとは思わないのですか? – Otiel

答えて

1

MdiContainerを試したことがありますか?ユーザー状態は、mdiコンテナ形式の変数として格納できますか?

+0

あなたの応答のためのThanx。 MDIContainerを使用しています。私の新しい質問は次のとおりです。 1.親から子へ、どうやって渡すことができますか? 2.同じ名前のウィンドウを複数開くことはできますか?(つまり、自分のMenuStripには、Ordre、Tarif、Configがあります。ユーザーが既にOrdreを開いているときに、再度クリックすると新しいウィンドウが開きません/新しい子供を作成しましたが、既に開いているordreウィンドウを指していましたか?) Thanx before .... – user609511

+0

子フォームを作成するときに、子フォームにパラメータ(たとえば、mdiコンテナ内)を作成させます。var customerForm = new CustomerForm(foo、bar); customerForm.Show();詳細については、このドキュメントを参照してください... http://msdn.microsoft.com/en-us/library/7aw8zc76(v=vs.80).aspx – Dom