3

フォームにマウスイベントを登録する方法と場所を教えてください。フォームをダブルクリックすると、Form_Loadイベントが生成され、そこにコードを追加できます。しかし、私が次のようなものを追加すると

private void Form1_MouseDown(object sender, MouseEventArgs e{

Console.WriteLine("mouse down")

}

ただし、フォームでmousedownイベントを実行すると、コンソールに何も表示されません。イベントをフォームなどに登録する場所に何かが足りないことはわかっています。何か案は?

ありがとう、

4

5 に答える 5

4

デザイナビューでフォームを選択し、プロパティウィンドウで小さな稲妻(イベント)をクリックします。

ここでは、どのイベントに対してどのデリゲートメソッドを呼び出すかを選択できます。メソッドをまだ作成していない場合は、イベントの横にある空のスペースをダブルクリックするだけで、コードが生成されます。

于 2012-05-22T21:37:57.617 に答える
1

VS.netを使用している場合は、プロパティパネルにすべてのイベントが表示されます。欲しいものを選んでください。

イベントを文法的に登録する場合、コードは次のようになります。

Form1.Click += new MouseEventHandler(Form1_MouseDown);

登録を解除するには

Form1.Click -= new MouseEventHandler(Form1_MouseDown);
于 2012-05-22T21:39:38.583 に答える
1

イベントは、デザイナーまたはコードのいずれかから「配線」する必要があります。プロパティウィンドウでイベントをダブルクリックすると、VisualStudioからイベントを接続できます。

ここに画像の説明を入力してください

これは、自動生成されたファイルに次のようなコードを生成します。.designer

theForm.MouseDown += new MouseEventHandler(Form1_MouseDown);

上記のようなコードを使用して、Form_Loadメソッド内のイベントを手動で接続することもできます。

于 2012-05-22T21:40:56.150 に答える
0

説明によると、デザイナを介してイベントを正しく登録したようです...それでもコンソールに文字列が表示されない場合は、System.Diagnostics.Debug.WriteLineを試してください(間違ったウィンドウを見ている可能性があります)

于 2012-05-22T21:39:19.350 に答える
0

WinFormsを使用すると、VisualStudioのデザインビューを介して追加することができます。

デザインビューで、フォームを選択します。次に、[プロパティ]パネルの[イベント]ボタン(稲妻のように見えます)をクリックし、適切なイベントの下に関数名を入力します。ここでイベントをクリックして、コードビハインドで新しい関数を自動的に生成することもできます。

お気づきのとおり、フォームをダブルクリックすると、コードビハインドに特定の関数が自動的に生成されます。フォームの場合はLoadですが、その他の場合はMouseDownまたはその他のイベントである可能性があります。

于 2012-05-22T21:40:05.153 に答える