2011-02-03 10 views
0


「X」をクリックする必要が作成されますVisual StudioのWinFormであり、そのコードにはかなりの機能があります。この時点で、そのすべてがうまく動作します。私は行くと置く
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
コンストラクタ関数で、私が行くと角の小さな十字架をクリックすると、私はそれを閉じるために2回クリックする必要があります!私はここにコードを入れますが、その240行はちょっとです。あなたがそれを見る必要があるなら、私はそれを置くことができます。C#Application.ApplicationExitは、私の周りかなり徹底した表情を持っていたが、関連する何かを見つけることができませんでしたので、私はここに頼むことにしました:)</p> <p>私が作成した二回

ありがとうございます!
Dronnoc

+0

なり、マウスやキーボードの問題のように見えます。 ApplicationExitハンドラを削除しても同じ動作が見られますか?うまくいく問題。 – hungryMind

+1

おそらく、200行以上のコードを投稿する前に、どの行が原因であるかを調べるべきです。この動作がなくなるまで、行をコメントアウトしてみてください。 e.cancel = trueのようなものを探すこともできます。 –

+0

@HungryMind:キーボードやマウスの問題ではなく、その行を削除するとうまく動作しますが、コードを実行する必要がありますアプリケーションは終了/終了しています。 –

答えて

1

を呼び出す必要があります。私はそれを人々に解決しました!

私はページ上にListBoxを持ち、SelectedIndexが変更されたときに実行される関数を持っていました。フォームを閉じると、-1のSelectedIndexが渡され、2回目が閉じられました。だから、それを修正するために、単純にListBox関数の値の単純な検証を行います。

例:

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 WindowsFormsApplication3 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      listBox1.SelectedIndexChanged += new EventHandler(listBox1_SelectedIndexChanged); 
     } 

     void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 
    } 
} 

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 WindowsFormsApplication3 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      listBox1.SelectedIndexChanged += new EventHandler(listBox1_SelectedIndexChanged); 
     } 

     void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if(listBox1.SelectedIndex == -1) 
      { 
       Application.Exit(); 
      } 
      //Rest of the code goes here. 
     } 
    } 
} 
1

十字クリック時にApplicationExitイベントが自動的に呼び出されます。だから実際にそれを呼び出す必要はありません。あなたは終わりに何をしたいですか?
十字架をクリックしてシャットダウンするときには、FormClosing() event.

+0

'FormClosing()'イベントにショットを与え、結果を報告します。 –

+0

これも失敗しました。元の投稿のコメントにConrad Fixの提案を試みます。 –

関連する問題

 関連する問題