1

ボタンのOnClickイベントは次のように呼び出されます。

private void vkb7_Click_1(object sender, EventArgs e)
{
    //method
    button_start(object sender);

    // do stuff 2
}

いくつかのメソッドがトリガーされます:

private void button_start(object sender)
{
    bool some = true;
    if (some)
    {
        return; // I'd also like to break "button click"
    }
}

メソッドから「ボタンクリック」イベントをブレークしたいのですが、どうすればよいですか?

4

4 に答える 4

4

簡単です。button_start()ブール値を返しましょう。

private bool button_start(object sender)
{
   bool some = ...;
   return some;
}


private void vkb7_Click_1(object sender, EventArgs e)
{
  //method
  if (button_start(object sender))
    return;

  // do stuff 2
}
于 2013-01-13T18:30:29.773 に答える
0

イベントはすでに発生しているため、実際に「ブロック」することはできません。ただし、結果に応じて手動でクリックを処理できます。

private void vkb7_Click_1(object sender, EventArgs e)
{
    bool result = button_start(sender);

    if (result)
        DoSomething();
    else
        DoSomethingElse();
}

private bool button_start(object sender)
{
    bool some = true;

    if (some)
        return false;

    return true;
}
于 2013-01-13T18:37:06.027 に答える
0

button_startでアクションを実行する必要があるかどうかを判断する場合は、 returnを実行してから、の戻り値を使用することをvkb7_Click_1検討してください。 button_startboolvkb7_Click_1

一方、でエラー状態が発生した場合は、例外button_startスローします

于 2013-01-13T18:33:10.523 に答える
0

まず、リターンタイプbutton_startbool
Secondに設定します。ボタンの送信者またはボタンのプロパティを渡す場合は vkb7、次のように渡します。vkb7

button_start(sender)したがって、コードは次のようになります。

 private void vkb7_Click_1(object sender, EventArgs e)
 {
   //method
   if(button_start(sender))
   // do stuff 2
 }

次に、メソッドで

 private bool button_start(object sender)
 {
    bool some = true;
    if (some)
    {
       return true; // I'd also like to break "button click"
    }
    else  
    return false;
 }
于 2013-01-13T19:04:19.467 に答える