所以我的问题是,当我进行验证时,无论我尝试过什么,我的 datetimepicker 值都会被添加。我想使用我的错误消息而不是尝试捕获,并且我不希望已经存在的值进入我的列表框。我相信有一个简单的方法可以解决这个问题,但我处于学生级别。提前感谢任何能引导我朝着正确方向前进的人。
SortedList<DateTime, string> task = new SortedList<DateTime, string>();
private void btnAdd_Click(object sender, EventArgs e)
{
try
{
Button btn = sender as Button;
if (task.ContainsKey(dateTimePicker1.Value))
{
MessageBox.Show("Already exists, sorry ");
lstTaskList.Items.Remove(dateTimePicker1.Value);
btn.Enabled = false; // just testing something
}
if (txtTaskDescription.Text == string.Empty)
{
MessageBox.Show("Please enter Task Description!");
return;
}
task.Add(dateTimePicker1.Value, txtTaskDescription.Text);
for (int i = 0; i < task.Count; i++)
{
DateTime key = task.Keys[i];
string val = task.Values[i];
// MessageBox.Show("key: " + key + " val " + val.ToString());
}
lstTaskList.Items.Add(task[dateTimePicker1.Value]);
//lblScreen.Text = dateTimePicker1.Text + tas
//lstTaskList.Items.Add(dateTimePicker1.Value.ToLongDateString());
//MessageBox.Show(task.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, ex.GetType().ToString());
}
}
也许我遗漏了一些东西,但在我看来,该方法只需要return
在添加项目之前。例如:
private void btnAdd_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
DateTime keyToAdd = dateTimePicker1.Value;
if (tasks.ContainsKey(keyToAdd))
{
MessageBox.Show("Already exists, sorry ");
return;
}
tasks.Add(keyToAdd, txtDescription.Text);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句