1

这是:

Datatable dt;
......
.......
cmbName.DataSource=dt;
cmbName.ValueMember="ID";
cmbName.DisplayMember="Name";


private void cmbName_Validating(object sender, CancelEventArgs e)
{          
    if (cmbName.Text == string.Empty)
    {
        MessageBox.Show("select correct  name");
        e.Cancel = true;
    }
    else if (cmbName.Items.Contains(cmbName.Text))
    {
        e.Cancel = false;
    }
    else
    {
        MessageBox.Show("select correct name");
        e.Cancel = true;
    }
}

总是显示“选择正确的名称”。即使它是从下拉列表中选择的。请任何人都可以建议我!

4

2 回答 2

0

我是通过这段代码做到的,这可能对某人有所帮助:

if (Convert.ToInt32(cmbName.SelectedValue) >= 1)
        {
            e.Cancel = false;

        }
        else
        {
            MessageBox.Show("select correct name");
            e.Cancel = true;
        }
于 2016-05-31T07:15:14.883 回答
-1

根据你的说法

如果你cmbname.Text是空的,它会显示消息:

选择正确的名称

当您cmbname.Text不为空时,它会再次显示消息:

选择正确的名称

您必须在 else 条件中指定当您从DropDownList.

于 2016-05-30T07:59:51.823 回答