2016-03-24 6 views
0

MessageBoxをユーザーに表示し、メッセージボックスにOKボタンとキャンセルボタンがあるボタンイベントにメッセージボックスを入れます。 しかし、ユーザーがキャンセルボタンをクリックしたときに、その機能を停止してフォームに戻ることをお勧めします。 ユーザーが[OK]ボタンをクリックすると、 ユーザーがキャンセルボタンをクリックすると、同じことが実行されます。しかし、私は嫌いです。 私はちょうどこれを含むコードを検索し、私がプログラムは何も起こらず、もう一度キャンセルボタンを押すと新しいWebブラウザが開きます。あなたは、プロセスを停止するKill()メソッドを使用することができますメッセージボックス内の「キャンセル」ボタンを使用してフォーム内の機能を停止する

 private void btnWCS2016_Click(object sender, EventArgs e) 
    { 
     DialogResult dr = MessageBox.Show("Hint :\nRaR password : vortex\n\n Winner : Polt (Terran)\n\nDownload require : 57.166 MB","User advice",MessageBoxButtons.OKCancel,MessageBoxIcon.Information); 
     System.Diagnostics.Process.Start("https://www.dropbox.com/home?preview=WCS-+Winter+2016.rar"); 
     if(dr==DialogResult.Cancel) 
     { 
      return; 
     } 
    } 
+0

** 1 - **ダイアログを表示** 2 - **ダイアログの結果が 'DialogResult.OK'であることを確認してから処理を開始します。 –

答えて

3

メッセージボックスから返された値を確認する前にプロセスを開始します。 このように、条件の後のプロセスの開始を移動する次のいずれかの個人的

private void btnWCS2016_Click(object sender, EventArgs e) 
{ 
    DialogResult dr = MessageBox.Show("Hint :\nRaR password : vortex\n\n Winner : Polt (Terran)\n\nDownload require : 57.166 MB","User advice",MessageBoxButtons.OKCancel,MessageBoxIcon.Information); 

    if(dr==DialogResult.OK) 
    { 
     System.Diagnostics.Process.Start("https://www.dropbox.com/home?preview=WCS-+Winter+2016.rar"); 

    } 
} 

私がいるので、この場合には第二の方法を好む:このように、

private void btnWCS2016_Click(object sender, EventArgs e) 
{ 
    DialogResult dr = MessageBox.Show("Hint :\nRaR password : vortex\n\n Winner : Polt (Terran)\n\nDownload require : 57.166 MB","User advice",MessageBoxButtons.OKCancel,MessageBoxIcon.Information); 

    if(dr==DialogResult.Cancel) 
    { 
     return; 
    } 
    System.Diagnostics.Process.Start("https://www.dropbox.com/home?preview=WCS-+Winter+2016.rar"); 
} 

や条件を変更して、内部にそれを置きますそれは唯一の行コードです。それが大規模なコードブロックだったなら、私は最初の方法を好むだろう。

1

: あなたは以下のコードサンプルでは私のコードを見ることができます。

private void btnWCS2016_Click(object sender, EventArgs e) 
    { 
     DialogResult dr = MessageBox.Show("Hint :\nRaR password : vortex\n\n Winner : Polt (Terran)\n\nDownload require : 57.166 MB","User advice",MessageBoxButtons.OKCancel,MessageBoxIcon.Information); 

     if(dr==DialogResult.Cancel) 
     { 
      return; 
     } 

     System.Diagnostics.Process.Start("https://www.dropbox.com/home?preview=WCS-+Winter+2016.rar"); 


    } 
+1

プロセスを開始して最初にそのプロセスを開始しないようにすると、そのプロセスを終了させるポイントはありません.... –

+1

あなたの編集はより良いですが、ここでは2つの条件には何の指摘もありません - 'DialogResult'は'OK'または' Cancel'です。最初の条件が 'true'と評価された場合は、すでにメソッドを終了しています。 –

関連する問題