2011-08-11 8 views
0

私は最初のUI C#プログラムを開発しています。私はいくつかの助けを望んでいます。私の最初のフォームには、いくつかのテキストボックスと2つのラジオボタンとGoボタンがあります。 1つのラジオボタンがチェックされている場合は新しい小さなフォームが開き、もう1つがチェックされている場合は新しい大きなフォームが開きます。フォーム閉/表示 - C#

ユーザーがクリックが行く - これが私のコードです -

 this.WindowState = FormWindowState.Minimized; 
     int.TryParse(tbHrs.Text, out hours); 
     int.TryParse(tbMins.Text, out minutes); 
     int.TryParse(tbSecs.Text, out seconds); 
     int.TryParse(tbWarn1.Text, out warn1); 
     int.TryParse(tbWarn2.Text, out warn2); 


     bool Max = rbMax.Checked; 
     if (Max == true) 
     { 
      if (_Max == null || _Max.IsDisposed) 
      { 
       _Max = new Max(hours, minutes, seconds, warn1, warn2); 
      } 
      _Max.Show(); 


     } 
     else 
     { 
      if (_Min == null || _Min.IsDisposed) 
      { 
       _Min = new Min(hours, minutes, seconds, warn1, warn2); 
      } 
      _Min.Show(); 
     } 

ので、それは、値が入力されたフォームを最小化し、新しいフォームを構築するときにダウンカウントを開始する値を通過します。新しいフォームでは、一時停止するボタンが必要です。これはうまく動作します。しかし、私はまた、停止/リセットボタンが欲しい。だから私は現在のフォームを閉じたいが、私は最初のフォームを最小化状態からオープンしたい - 私は下のコメント行を試したが、それは動作しませんでした。誰もが私が最初のフォームを空白にリセットすることができれば、2番目のフォームで閉じる閉じるをクリックすると、さらに良い場合に、最小化状態から最初のユーザー入力フォームを表示する方法を知っていますか?どうもありがとう。

private void MinStop_Reset_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
     //ParentForm.Show(); 
    } 

答えて

1

が行います。このピーターのため

_min.FormClosed += (s1,e1) => { this.WindowState = FormWindowState.Maximized; } 
+0

こんにちはTsabo - どこからsClを取得し、s1、e1パラメータはありますか?ありがとう。 –

+1

あなたはinstace (オブジェクト)送信者と(FormClosedEventArgs)eパラメタのプレースホルダです – Tsabo

+0

これはうまくいきました - あなたの助けを借りてくれたTsaboに感謝します。 >ありがとうございました。 –

1

二番目の形式(既存Form.Closedイベントをサブスクライブすることができますが、あなたのユースケースのために、より具体的なイベントをしたい場合があります)にイベントを追加します。

public event EventHandler UserStoppedEvent; 

あなたの最初のフォームからそれを購読し、あなたはあなたがParentFormは、それらの小さなフォームのコンストラクタに扱う渡す必要が

_min.UserStoppedEvent += (s, e) => {this.WindowState = FormWindowState.Maximized;} 
+0

おかげで - ちょうどいくつかの質問 - 私は_Min.UserStoppedEvent +を配置する必要があります= ()....など私の最初のフォームに - ここでは、そのコンストラクターの一部として '公共CountDownTimer() ' { InitializeComponent(); }また、コードではエラーが発生しています - Delegate System.Event.Handlerは '0'引数を受け取りません?? –

+1

おっと、それは私がそれをチェックしないために得るものです!修正されたargsは今でもうまくいくでしょう。私はあなたが "_Min = new Min(...")をインスタンス化した直後に置きます。 –

関連する問題