1

try と catch を使用してチェックボックス R1P1 がチェックされていない場合に、メッセージボックスがポップアップするようにします。しかし、catch の () の中に何を入れたらよいかわかりません。

    private void button2_Click(object sender, EventArgs e)
    {
        try
        {
            if (R1P1.Checked) 
            {
                string Plats1 = "R1P1"; 
                TxtP.Text = Plats1;  
            }
            else 
            {
                TxtP.Text = null; 
            }
         }
        catch (???) 
        {
            MessageBox.Show("Hey");
        }

catch (R1P1.Checked == false;) を試しましたが、うまくいきません。プログラムには、チケットシステム用のチェックボックスがたくさんあります。それらのどれもチェックせずに続行をクリックすると、チェックボックスが表示されます。

4

2 に答える 2

3

この場合、try{}catch{}ブロックにはまったく意味がありません。

なぜ例外をキャッチするのですか?

チェックされていない場合はすでにわかっelseています-句のメッセージボックスを呼び出すだけです:

if (R1P1.Checked) 
{
    TxtP.Text = "R1P1";  
}
else 
{
    TxtP.Text = ""; 
    MessageBox.Show("Hey");
}
于 2013-05-12T11:41:52.293 に答える
2

トライキャッチは何のため?これは機能しませんか:

private void button2_Click(object sender, EventArgs e)
{

        if (R1P1.Checked) 
        {
            string Plats1 = "R1P1"; 
            TxtP.Text = Plats1;  
        }
        else 
        {
            TxtP.Text = null; 
             MessageBox.Show("Hey");
        }
 }

グッドポイントジョン!私の知る限り、独自のスコープを持つコードブロックを定義します。したがって、一般に、閉じ括弧を押すと、それらの間で宣言されたものはすべて存在しなくなります{}これは、文字列Plats1が使用されることはなく、他の場所では見られないことを示しています。

これを同じにする:

private void button2_Click(object sender, EventArgs e)
{
        if (R1P1.Checked) 
        {
            TxtP.Text = "R1P1";  
            //anything declared here (i.e. a new variable)
        }//is gone by here
        else 
        {
            TxtP.Text = null;
            MessageBox.Show("Hey");
        }
 }
于 2013-05-12T11:41:53.520 に答える