当我点击一个按钮时,我使用了我制作的这个类,所以当它不符合要求时它会显示一个消息框,但它只是继续按下按钮,就像它不会返回一样。
例如,我希望程序在其中一个消息框显示后返回。 现在只需点击我点击的按钮即可。
public Trekking(int Maxwaarde, int AantalGewenst)
{
if (Maxwaarde > 90)
{
MessageBox.Show("Uw getal mag niet boven de 90 zijn!");
}
else if (Maxwaarde < 0)
{
MessageBox.Show("Dit aantal is niet mogelijk!");
}
else if (AantalGewenst > 45)
{
MessageBox.Show("Uw getal mag niet boven de 45 zijn!");
}
else if (AantalGewenst < 0)
{
MessageBox.Show("Dit aantal is niet mogelijk!");
}
else if (Maxwaarde / AantalGewenst < 2)
{
MessageBox.Show("Uw maxwaarde moet minstens het dubbele van Aantal Gewenst zijn!");
return;
}
else
{
if (AantalGewenst <= 45)
IsTenEinde = true;
}
random = new Random();
getallen = new int[AantalGewenst];
this.Maxwaarde = Maxwaarde;
this.AantalGewenst = AantalGewenst;
AantalGetrokken = 0;
IsTenEinde = false;
}
按钮:
private void btnStart_Click(object sender, EventArgs e)
{
int AantalGewenst = Convert.ToInt32(tbInvoerAantalGewenst.Text);
int Maxwaarde = Convert.ToInt32(tbInvoerMaxwaarde.Text);
trekking = new Trekking(Maxwaarde, AantalGewenst);
btnTrek.Enabled = true;
btnStop.Enabled = true;
}
答案 0 :(得分:2)
除了Maxwaarde / AantalGewenst < 2
之外,您不会在任何错误情况下返回。如果没有return
,它将继续下行到random = new Random();
行。
答案 1 :(得分:0)
首先,我必须假设一些可能或可能不正确的变量:
private bool IsTenEinde;
private int AantalGetrokken, AantalGewenst, Maxwaarde;
private TextBox tbInvoerAantalGewenst, tbInvoerMaxwaarde;
private Button btnStop, btnTrek;
接下来,我定义了一个常量:
private const int ERROR = -1;
使用它,我修改了你的 Trekking 函数以返回十进制(因为它看起来你正在尝试进行除法),并将其更改为:
public decimal Trekking(int Maxwaarde, int AantalGewenst) {
decimal result = ERROR;
if (Maxwaarde > 90) {
MessageBox.Show("Uw getal mag niet boven de 90 zijn!");
return result;
} else if (Maxwaarde < 0) {
MessageBox.Show("Dit aantal is niet mogelijk!");
return result;
} else if (AantalGewenst > 45) {
MessageBox.Show("Uw getal mag niet boven de 45 zijn!");
return result;
} else if (AantalGewenst < 0) {
MessageBox.Show("Dit aantal is niet mogelijk!");
return result;
} else if (Maxwaarde / AantalGewenst < 2) {
MessageBox.Show("Uw maxwaarde moet minstens het dubbele van Aantal Gewenst zijn!");
return result;
} else {
if (AantalGewenst <= 45)
IsTenEinde = true;
}
var random = new Random();
var getallen = new int[AantalGewenst];
this.Maxwaarde = Maxwaarde;
this.AantalGewenst = AantalGewenst;
result = (decimal)Maxwaarde / (decimal)AantalGewenst;
AantalGetrokken = 0;
IsTenEinde = false;
return result;
}
完成后,您只需修改 btnStart_Click 事件,即可根据需要执行任何操作:
private void btnStart_Click(object sender, EventArgs e) {
btnTrek.Enabled = false;
btnStop.Enabled = false;
int AantalGewenst = Convert.ToInt32(tbInvoerAantalGewenst.Text);
int Maxwaarde = Convert.ToInt32(tbInvoerMaxwaarde.Text);
decimal trekking = Trekking(Maxwaarde, AantalGewenst);
btnTrek.Enabled = true;
btnStop.Enabled = true;
if (ERROR < trekking) {
MessageBox.Show(trekking.ToString());
}
}
你在编程班吗?这种看起来像是家庭作业。