2011-12-19 20 views
0

私のアプリケーションの場所を保存していますが、値を保持したくありません。コード内で何が起こるかは、_FormClosingが淡色表示され、「使用されることはありません」ということです。私はこのコードでどこが間違っているのか見える人はいますか?私のアプリケーションのプロパティでForm1_FormClosingメソッド 'never used'、設定は保存されません

public Form1() 
    { 
     InitializeComponent();    
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     if (Settings.Default.WindowLocation != null) 
      this.Location = Settings.Default.WindowLocation; 

     this.txtInput60.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnterKeyPress); 
    } 

    private void Form1_FormClosing(object sender, FormClosedEventArgs e) 
    { 
     Settings.Default.WindowLocation = this.Location; 
     Settings.Default.Save(); 
    } 

    private void CheckEnterKeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)Keys.Return) 
     { 
      decimal minutes; 
      decimal.TryParse(txtInput60.Text, out minutes); 

      if (minutes > 0) 
      { 
       var total = (int) (minutes/60*100); 
       txtOutput100.Text = total.ToString(); 
       Clipboard.SetText(total.ToString()); 
      } 
     } 
    } 

私はWindowLocation、system.draw.point、ユーザー、0でWindowLocationを設定しています。あなたのForm1_FormClosingイベントはもはやのFormClosingイベントにフックアップされるように0

+0

後、コンストラクタでこれを追加してみてください、FormClosedイベントにアタッチされていません。現在のタイトルはあまりにも一般的です。 –

答えて

1

イベントFormClosingをForm1_FormClosingメソッドにアタッチする必要があります。

これは、のForm_Loadメソッドのコードで実行できます。

this.FormClosing += Form1_FormClosing; 

それともsetting the event in the designer

変更FormClosedEventArgsからFormClosingEventArgsのメソッドパラメータの種類別:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    Settings.Default.WindowLocation = this.Location; 
    Settings.Default.Save(); 
} 
+0

これは動作しません。それはform1_formclosing FormClosingEventArgs –

+0

「Form1_FormClosing」マッチデリゲート「System.Windows.Forms.FormClosingEventHandler」の過負荷にエラーが発生します。どういたしまして。 –

+0

良いキャッチ、感謝 –

1

が鳴りません形。あなたはこのようになり、設計時にフォームのプロパティに行くとイベント・ペインを選択することで、これを確認することができます

Properties Pane

、あなたのForm1_Closing方法がFormClosingイベントにフックアップされていることを確認し、そうでない場合はリストをドロップダウンして選択します。

0

チェックインデザイナーのForm1 Form1のEventExplorerを開き、Closingイベントの値を確認します。たぶんあなたの方法には付いていないかもしれません。

0

あなたのデザイナーは、おそらく、より適切かつわかりやすいものにタイトルを変更してくださいだけでInitializeComponent();

this.FormClosing += Form1_FormClosing; 
関連する問題