每次都会弹出消息框

时间:2010-10-07 04:09:03

标签: c#

我希望消息框只显示该数字是否等于0.该部分的工作部分给我一些问题,当nudTwoByTwo_1_ValueChanged为零并且我将nudTwoByTwo_2_ValueChanged增加到1它仍然给我每次我增加nudTwoByTwo_2_ValueChanged消息框。这样做直到我将nudTwoByTwo_1_ValueChanged增加到1.我希望他们分开工作。如果将nudTwoByTwo_1_ValueChanged设置为0,则抛出消息框,同样适用于nudTwoByTwo_2_ValueChanged

我正在创建一个彩票游戏。最小值和最大值设置为0-20。我不想将min默认为1.

using System;
using System.Windows.Forms;

namespace LotteryTickets
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void nudPickFive_1_ValueChanged(object sender, EventArgs e)
    {

    }

    private void nudTwoByTwo_1_ValueChanged(object sender, EventArgs e)
    {
        if (cbTwoBytwo.Checked)

            errorcheck();

    }

    private void nudTwoByTwo_2_ValueChanged(object sender, EventArgs e)
    {
        if (cbTwoBytwo.Checked)
        errorcheck();  
    }
    public void errorcheck()
    {



            if (nudTwoByTwo_1.Value == 0)
            {
                MessageBox.Show("Enter a number between 1 -20");
            }

    }



    private void gbTwoByTwo_Enter(object sender, EventArgs e)
    {

    }

    private void cbTwoBytwo_CheckedChanged(object sender, EventArgs e)
    {

    }
}

}

1 个答案:

答案 0 :(得分:0)

您需要将值传递给错误检查。

public void errorcheck(int val)
{

        if (val == 0)
        {
            MessageBox.Show("Enter a number between 1 -20");
        }

}

private void nudTwoByTwo_1_ValueChanged(object sender, EventArgs e)
{
    if (cbTwoBytwo.Checked)
        errorcheck((int)nudTwoByTwo_1.Value);
}

private void nudTwoByTwo_2_ValueChanged(object sender, EventArgs e)
{
    if (cbTwoBytwo.Checked)
        errorcheck((int)nudTwoByTwo_2.Value);  
}

免责声明:未经测试。