2

VB プロジェクトを C# に変換していますが、VB では次のような関数が呼び出されることに気付きました。

 Protected Sub WZTestResult_NextButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles WZTestResult.NextButtonClick 

これは、ウィザードの次のボタン クリック イベントを処理します。

c# では、次の行を追加する必要があります。

 OnNextButtonClick="WZTestResult_NextButtonClick" 

asp.netソースページで、または関数にヒットすることはありません。これは c# で必要なのですか、それとも見落としているものや見逃しているものがありますか? 基本的に、ソースページに上記の行を追加せずにVBのようにその関数をヒットする方法はc#にありますか?

4

2 に答える 2

1

VB の Handles キーワードに相当するものはありません。

ページが初期化されるときに、必要に応じてコードビハインドで実行できます

public Default() {

    this.Init += (_o, _e) => {
         this.Wizard.NextButtonClick += WZTestResult_NextButtonClick;
    }
}

デフォルトはページ コンストラクタです。

于 2012-04-13T16:14:22.183 に答える
0

一般的に言えば、IDE がこれらのほとんどを処理します。Visual Studio デザイナーでボタンをフォームに追加し、そのボタンをダブルクリックすると、コード内のそのコントロールのイベント ハンドラー (この場合はクリック イベント) に移動します。

    private void button1_Click(object sender, EventArgs e)
    {
    }

現在のファイルには、このメソッドをコントロール イベントにアタッチするコードが含まれていないことがわかります。Visual Studio は、フォームを、コードを含む部分クラスと、自動生成された配線コードを含む生成されたクラスに分割します。次のようなソリューション エクスプローラーで:

Form1.cs -> Form1.Designer.cs にコードを追加するファイル -> 自動生成されたデザイナー ファイル

ビジュアル デザイナーでフォームを変更すると、変更内容が上書きされる可能性があるため、.designer.cs ファイルを変更したくありません。Form1.cs ファイルで作業するだけで、イベント割り当てコードが表示されることはほとんどありません。

したがって、あなたの質問に対する答えは「いいえ」です。ただし、このコードを追加または表示する必要はめったにないことに注意してください。

this.Wizard.NextButtonClick += WZTestResult_NextButtonClick;
于 2012-04-13T20:26:26.137 に答える