2011-06-22 10 views
-2

内のロード方法は、誰かが説明してもらえ構文エラーがスローされます。C# - (コンストラクタで)このメソッドを実行する理由は、コンストラクタ

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     Load += YourPreparationHandler; 
    } 

    private void YourPreparationHandler(object sender, EventArgs e) 
    { 
     button22_Click(sender, e); 
    } 
} 

The name 'button22_Click' does not exist in the current context

+8

オム、私は、問題は、あなたがそれを述べる何されていない場合、またはコードは、あなたはそれが表示されものではありません信じているので、答えは、かなり明白であるにもかかわらず、コメントするつもりです。メソッド 'button22_Click'は、現在のコンテキストには存在しません(つまり、呼び出す場所から到達可能です)。メソッドが実際に存在することを確認しましたか?問題のコードでは確かにそうではありません。 –

+1

これを許しますが、 "button22_Click"はクラスに存在しますか? – n8wrl

+0

ここで正しいと思われる回答を下降させているJezz? –

答えて

1

は通常、コンストラクタでこのようなものがあります。 Visual Studioでは、コンポーネントをフォームにドラッグアンドドロップすると、VSの後ろでデザイナファイルが更新されて更新されるためです。

(あなたの場所にグローバル化している場合)だから、あなたは

Form1.Designer.cs

おそらく

Form1.xx.resx

のForm1.csを持つことになります

デザイナーファイルを見ると、Visual Studioがコードを生成しているようなものが表示されます:

​​

デザイナーのファイルが欠落しているIを賭け、台無し、またはInitializeComponentのは、事故によって除去しました。いずれの場合でも、オブジェクト(button_22)は存在しないか参照されていないため、クリックイベントを発生させることはできません。

5

Form1のメンバーbutton22_Clickですか?メソッドが存在することを確認してください。エラーはかなり自明です。

+2

この回答をdownvoteする理由はありません。補償するためにアップアップ。 –

+0

私は誰もこれをdownvoteしたい理由が表示されません。この惑星にはいくつかの奇妙な人々がいる... –

4

button22_Clickはどこにでも定義されていますか?もしそうでなければ、それは問題になるでしょう。クラスは部分クラスとして設定されている

public Form1() 
{ 
    InitializeComponent(); 
} 

フォーム:

+2

この答えをdownvoteする理由はありません。補償するためにアップアップ。 –

+1

少なくとも、それはマシューの答えに同じスコアが必要です。それは同義語です。 :P –

+1

ええ、マシューが最初でした。または、よく、Lasseは彼のコメントで最初だった。 –

関連する問題