如何在c#中管理Label

时间:2014-02-12 09:57:56

标签: c# textbox label

我正在尝试在c#中组织Label和TextBox,我有两个功能:

private void BtnKaydet_Click(object sender, EventArgs e)
{
    _service = new Client.BioAuthenticationService.BioAuthenticationService();
    int warningcase = 0;

    if ((string.IsNullOrEmpty(TbTcNo.Text) || string.IsNullOrWhiteSpace(TbTcNo.Text)))
    {
        warningcase = 1;
        TextLabelManagement(warningcase);                              
    }
    else if ((string.IsNullOrEmpty(TbId.Text) || string.IsNullOrWhiteSpace(TbId.Text)))
    {
        warningcase = 2;
        TextLabelManagement(warningcase);               
    }
    else if ((string.IsNullOrEmpty(TbName.Text) || string.IsNullOrWhiteSpace(TbName.Text)))
    {
        warningcase = 3;
        TextLabelManagement(warningcase);      
    }
    else if ((string.IsNullOrEmpty(TbSurname.Text) || string.IsNullOrWhiteSpace(TbSurname.Text)))
    {
        warningcase = 4;
        TextLabelManagement(warningcase); 
    }
    else if ((string.IsNullOrEmpty(TbDepartment.Text) || string.IsNullOrWhiteSpace(TbDepartment.Text)))
    {
        warningcase = 5;
        TextLabelManagement(warningcase);
    }

    else
    {
        if (_imageIndex == 3)
        {
            bool enrollResult = _service.CheckAndEnrollUser(image1, image2, image3, 300, 6);
        }
        else
        {
            warningcase = 6;
            TextLabelManagement(warningcase);
        }
    }
}

这里我写的案例如果TextBox为null我会给出错误信息来填充它们。这是我的案例:

private void TextLabelManagement(int cases)
{
    switch (cases)
    {
        case 1:
            LblWarning.Visible = true;
            LblWarning.Text = "* Lütfen Bu Alanları Doldurunuz..";
            LblTcNo.Text = "* TC No";
            LblTcNo.ForeColor = System.Drawing.Color.Red;
            LblWarning.ForeColor = System.Drawing.Color.Red; 
            break;
        case 2:
            LblWarning.Visible = true;
            LblWarning.Text = "* Lütfen Bu Alanları Doldurunuz..";
            LblId.Text = "* ID";
            LblId.ForeColor = System.Drawing.Color.Red;
            LblWarning.ForeColor = System.Drawing.Color.Red;
            break;
        case 3:
            LblWarning.Visible = true;
            LblWarning.Text = "* Lütfen Bu Alanları Doldurunuz..";
            LblName.Text = "* Ad";
            LblName.ForeColor = System.Drawing.Color.Red;
            LblWarning.ForeColor = System.Drawing.Color.Red;
            break;
        case 4:
            LblWarning.Visible = true;
            LblWarning.Text = "* Lütfen Bu Alanları Doldurunuz..";
            LblSurname.Text = "* Soyad";
            LblSurname.ForeColor = System.Drawing.Color.Red;
            LblWarning.ForeColor = System.Drawing.Color.Red;
            break;
        case 5:
            LblWarning.Visible = true;
            LblWarning.Text = "* Lütfen Bu Alanları Doldurunuz..";
            LblDepartment.Text = "* Soyad";
            LblDepartment.ForeColor = System.Drawing.Color.Red;
            LblWarning.ForeColor = System.Drawing.Color.Red;
            break;
        case 6:
            LblFingerWarning.Visible = true;
            LblFingerWarning.Text = "Lütfen Parmak İzinizi Üç Kez Veriniz.";
            LblFingerWarning.ForeColor = System.Drawing.Color.Red;
            break;
        default:
            break;
    }

}

但是,当用户单击“保存”按钮时,它将进入第一个IF条件。然后,如果..但这是我的问题。我如何组织这些项目。例如,如果用户没有填写所有框,我想一步一步地向他发出所有警告信息。

3 个答案:

答案 0 :(得分:4)

您可以在文本框中使用验证器。您可以在工具箱中找到验证器控件。

Try the link

答案 1 :(得分:1)

答案 2 :(得分:1)

使用if代替else if if因为当first if为true时它将不会进入else if,因此只显示一条消息。用它作为:

     if ((string.IsNullOrEmpty(TbTcNo.Text) || string.IsNullOrWhiteSpace(TbTcNo.Text)))
        {
            warningcase = 1;
            TextLabelManagement(warningcase);                              
        }
        if ((string.IsNullOrEmpty(TbId.Text) || string.IsNullOrWhiteSpace(TbId.Text)))
        {
            warningcase = 2;
            TextLabelManagement(warningcase);               
        }
         if ((string.IsNullOrEmpty(TbName.Text) || string.IsNullOrWhiteSpace(TbName.Text)))
        {
            warningcase = 3;
            TextLabelManagement(warningcase);      
        }