it-swarm.com.de

Prüfen Sie, ob TextBox leer ist, und geben Sie MessageBox zurück.

Ich habe diese Anweisung gemacht, um zu überprüfen, ob TextBox leer ist. Die MessageBox wird jedoch immer angezeigt, ob die TextBox leer ist oder nicht.

    private void NextButton_Click(object sender, EventArgs e)
    {
        decimal MarkPoints, x, y;
        x = HoursNumericUpDown.Value;
        y = MarkNumericUpDown.Value;
        MarkPoints = x * y;

        //decimal MarkPoints = (decimal)HoursNumericUpDown.Value * (decimal)HoursNumericUpDown.Value;


        DataGridViewRow dgvRow = new DataGridViewRow();
        DataGridViewTextBoxCell dgvCell =  new DataGridViewTextBoxCell();

        dgvCell = new DataGridViewTextBoxCell();
        dgvCell.Value = MaterialTextBox.Text;
        dgvRow.Cells.Add(dgvCell);

        dgvCell = new DataGridViewTextBoxCell();
        dgvCell.Value = HoursNumericUpDown.Value;
        dgvRow.Cells.Add(dgvCell);

        dgvCell = new DataGridViewTextBoxCell();
        dgvCell.Value = MarkNumericUpDown.Value;
        dgvRow.Cells.Add(dgvCell);

        dgvCell = new DataGridViewTextBoxCell();
        dgvCell.Value = MarkPoints;
        dgvRow.Cells.Add(dgvCell);

        dataGridView1.Rows.Add(dgvRow);

        MaterialTextBox.Clear();
        HoursNumericUpDown.Value = HoursNumericUpDown.Minimum;
        MarkNumericUpDown.Value = MarkNumericUpDown.Minimum;

        if (String.IsNullOrEmpty(MaterialTextBox.Text))
        {
            MessageBox.Show("Enter Material Name Please.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            //dataGridView1.Rows.Clear();
        }
        else
        {
            /*if (MarkNumericUpDown.Value < 50)
            {
                int index = dataGridView1.Rows.Add();
                dataGridView1.Rows[1].Cells[4].Value = "F";
            }
            else if (MarkNumericUpDown.Value > 50 && MarkNumericUpDown.Value <= 64)
            {
                dataGridView1.Rows[index].Cells[4].Value = "F";
            }*/
18
sam

Versuchen Sie stattdessen diese Bedingung:

if (string.IsNullOrWhiteSpace(MaterialTextBox.Text)) {
    // Message box
}

Dadurch werden einige Zeichenfolgen berücksichtigt, die nur Leerzeichen enthalten, und Sie müssen sich nicht mit der Gleichheit von Zeichenfolgen befassen, die manchmal schwierig sein kann

51
Dyppl

Nun, Sie löschen das Textfeld, bevor Sie prüfen, ob es leer ist

/* !! This clears the textbox BEFORE you check if it's empty */
MaterialTextBox.Clear();

HoursNumericUpDown.Value = HoursNumericUpDown.Minimum;
MarkNumericUpDown.Value = MarkNumericUpDown.Minimum;

if (String.IsNullOrEmpty(MaterialTextBox.Text))
{
        MessageBox.Show("Enter Material Name Please.", "Error", MessageBoxButtons.OK,    MessageBoxIcon.Warning);
            //dataGridView1.Rows.Clear();
}
11
Dyppl

Verwenden Sie etwas wie das Folgende:

if (String.IsNullOrEmpty(MaterialTextBox.Text)) 
2
tjg184

Versuchen Sie Folgendes:

if (String.IsNullOrEmpty(MaterialTextBox.Text) || String.IsNullOrWhiteSpace(MaterialTextBox.Text))
    {
        //do job
    }
    else
    {
        MessageBox.Show("Please enter correct path");
    }

Ich hoffe es hilft

2
cell-in

Zusätzlich zu dem, was @ tjg184 gesagt hat, könnten Sie so etwas tun ...

if (String.IsNullOrEmpty(MaterialTextBox.Text.Trim())) 

...

0
contactmatt
if (MaterialTextBox.Text.length==0)
{
message

}
0
Beginner