按钮单击处理程序中的 do-while 循环是一个大问题!
//This button needs to give the error if the name or position in the array are left blank//
private void btnInsert_Click(object sender, EventArgs e)
{
// BIG PROBLEM HERE!!!!
do
{
string message = "Invalid Name or Position entered.";
MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
while (int.Parse(txtPosition.Text == null));
InsertIntoArrayList(actName, posNum);
PopulateActors();
}
首次单击按钮时,如果int.Parse(txtPosition.Text == null)
不满足条件,则会重复显示一个消息框,而不给用户修复错误的机会。
试试这个:
//This button needs to give the error if the name or position in the array are left blank//
private void btnInsert_Click(object sender, EventArgs e)
{
if (int.Parse(txtPosition.Text == null)) {
MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
} else {
InsertIntoArrayList(actName, posNum);
PopulateActors();
}
}
而是在每次单击按钮时检查条件,让用户有机会解决问题。
您的数组插入代码对我来说看起来不错。