C# 在Windows窗体中使用dropdownlist使用errorProvider进行验证?

C# 在Windows窗体中使用dropdownlist使用errorProvider进行验证?,c#,winforms,errorprovider,validating,C#,Winforms,Errorprovider,Validating,因此,基本上我正在尝试使用验证事件验证我的下拉列表(组合框)。这可以工作,但会将焦点调到我的下拉列表中,不允许进行选择 有没有办法让errorProvider使用dropdownlist if (ddlTypeOfPass.SelectedIndex < 1) { errorProvider1.SetError(ddlTypeOfPass, "Type of Pass is required"); e

因此,基本上我正在尝试使用验证事件验证我的下拉列表(组合框)。这可以工作,但会将焦点调到我的下拉列表中,不允许进行选择

有没有办法让errorProvider使用dropdownlist

 if (ddlTypeOfPass.SelectedIndex < 1)
            {
                errorProvider1.SetError(ddlTypeOfPass, "Type of Pass is required");
                e.Cancel = true;
                return;
            }
            errorProvider1.SetError(ddlTypeOfPass, "");
    }
if(ddlTypeOfPass.SelectedIndex<1)
{
errorProvider1.SetError(ddlTypeOfPass,“需要传递类型”);
e、 取消=真;
返回;
}
errorProvider1.SetError(ddlTypeOfPass,“”);
}

我以为下拉列表是自我验证的。您是否允许自由格式的数据输入?您的第0项是否为空,是否要确保他们已更改?您可以删除空白项并跳过验证,但有时最初将其保留为空白是一项要求。

我已经解决了这个问题,很抱歉,我的初始帖子可能没有帮助。我删除了e。取消以允许它继续运行,它设置了焦点,但不强制用户保留在该控件上(我有点想要),但这允许用户实际设置下拉列表。

调用焦点是什么意思?对不起,焦点设置为我的下拉列表,允许我只写文本。当试图从列表中下拉时,它会刷新列表,但会在下拉列表中发送be返回文本模式。。。如果这有道理的话,那就是自我验证,我的第0个是空的。我希望errorProvider出现,并将焦点设置为ddl,但按照我的方式,焦点被卡住,不允许您从ddl中选择项目