0

作業方法があります

something_Click(object sender, EventArgs e)
{
    code
}
... 

もちろん、誰かが要素をクリックした後に実行されます。私がする必要があるのは、要素が画面に表示された直後にこのメソッドを実行することです (それは ですStripStatusLabel)。メソッドの呼び出しをコードの先頭に追加しようとしましたが、何もしませんでした。

4

3 に答える 3

4

イベント ハンドラーButton.PerformClickでボタンを呼び出すことができます。Form.Load

そのロジックを独自のメソッドに移動し、ボタン ハンドラーとLoadイベントの両方からそのメソッドを呼び出すことも検討してください。これはより明確になります。(これは明らかに、単なる「ボタンのクリック」以外でトリガーしたいコードです)。

于 2012-12-13T21:47:08.897 に答える
2

ターゲットにしているフレームワーク (WPF と Winforms) によっては、代わりに Load イベントを処理できる場合があります。要素が画面に表示されたときにトリガーされます。

于 2012-12-13T21:46:51.563 に答える
0

通常はユーザーから発生するフォーム イベントを発生させることは、ベスト プラクティスではありません。ある意味では、クリックを「偽造」しようとしています。将来のデバッグや、プロジェクトを引き継ぐ可能性のある同僚のことを考えてください。コードを検査する場合、「何か」をクリックした場合にのみ something_Click が起動されることを期待するでしょう。

より良い解決策は、スニップの「コード」部分を、実際の動作を反映した名前のメソッドに入れることです。

このメソッドをさまざまな領域で起動することができます。クリック、ロード、どこでも発射できます。

something_Click(object sender, EventArgs e)
{
    DoStuff();
}

OnAppearToScreen()
{
    DoStuff();
}

DoStuff()
{
    //code that actually does stuff
}

後で、オブジェクトに対して「何か」がいつ行われたかを確認したい場合は、コード検査で簡単にわかります。

于 2012-12-13T22:06:14.483 に答える