using c# win forms
i have a form that has many text boxes and combo boxes
some of this controls - not all of them - can not be empty
if the user click on save button i want the labels of that empty controls turns to red ....
i tried
if (cmbNyaba.SelectedIndex == -1)
{
lblNyaba.ForeColor = Color.Red;
return;
}
else
{
lblNyaba.ForeColor = Color.Black;
}
if (txtCaseHasr.Text == "")
{
lblHasrNum.ForeColor = Color.Red;
return;
}
else
{
lblHasrNum.ForeColor = Color.Black;
}
if (txtCaseNum.Text == "")
{
lblCaseNum.ForeColor = Color.Red;
return;
}
else
{
lblCaseNum.ForeColor = Color.Black;
}
but i think its not a good way
should i use tag property or what ?
thanks
i tried
public static Boolean ValidateControle(Control MyObjet, int oblig = 0)
{
ErrorProvider err = new ErrorProvider();
String mess = "";
Boolean valid = true;
if (MyObjet != null)
{
if (oblig == 1)
{
mess = "Can not be empty !";
}
if (MyObjet.Text.Trim().Length == 0) valid = false;
if (MyObjet is ComboBox)
{
ComboBox cmb = (MyObjet as ComboBox);
if (cmb.SelectedIndex == -1)
{
mess = "Select at least one element !";
valid = false;
}
}
if (valid == false)
{
err.SetError(MyObjet, mess);
MyObjet.BackColor = Color.FromArgb(253, 108, 119);
}
else
{
err.SetError(MyObjet, "");
MyObjet.BackColor = Color.White;
}
err.SetIconAlignment(MyObjet, ErrorIconAlignment.MiddleRight);
}
return valid;
}
private void btnSave_Click(object sender, EventArgs e)
{
if (cmbCaseCrime.SelectedIndex == -1 ||
cmbMember.SelectedIndex == -1 ||
cmbCaseType.SelectedIndex == -1 ||
string.IsNullOrEmpty(txtCaseNum.Text) ||
string.IsNullOrEmpty(txtCaseHasr.Text))
{
ValidateControle(cmbCaseCrime, 1);
ValidateControle(cmbMember, 1);
ValidateControle(cmbCaseType, 1);
ValidateControle(txtCaseHasr, 1);
ValidateControle(txtCaseNum, 1);
return;
}
string str = btnSave.Text;
switch (str)
{
case "add":
DataTable dt = new DataTable();
dt = cs.Verify_CASES(txtCaseNum.Text, txtCaseYear.Text, Convert.ToInt32(cmbCaseType.SelectedValue), Convert.ToInt32(cmbCaseRegion.SelectedValue));
if (dt.Rows.Count > 0)
{
MessageBox.Show("already added ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
ce.ADD_CASE(txtCaseNum.Text, txtCaseHasr.Text, dtp_CaseComingDate.Value, txtCaseYear.Text,
Convert.ToInt32(cmbCaseType.SelectedValue),
Convert.ToInt32(cmbCaseRegion.SelectedValue),
Convert.ToInt32(cmbCaseStatus.SelectedValue),
Convert.ToInt32(cmbCaseCrime.SelectedValue),
Convert.ToInt32(cmbMember.SelectedValue), txtCaseStatusDate.Text);
MessageBox.Show("added successfuly", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.txtidCase.Text = ce.GET_LAST_CASE_ID().Rows[0][0].ToString();
this.btnAddRemain.Enabled = true;
this.cmbCaseRemain.Focus();
this.btnSave.Enabled = false;
}