135 messaggi dal 01 novembre 2012
Buongiorno,

nelle TextBox sono inserite valori numerici e decimali (con la virgola per es: 2.562,96).

In alcune TextBox vi è "0,00" e gradirei inserire una condizione di verifica.

Ho provato senza successo con:
if (e.KeyChar == (char)Keys.Enter)
{
  if (TextBox4.Text.Length == 0.00)
  {
     MessageBox.Show("Il campo è vuoto!");
     TextBox1.Focus();
     return;
   }
}

che non non viene preso inconsiderazione la condizione.

Fiducioso di un gradito riscontro, cordialmente saluto.
Domenico.
427 messaggi dal 13 novembre 2009
Scusa mi sfugge Length==0.00 ma è in int non un decimal
135 messaggi dal 01 novembre 2012
Gent.mo Flaviovb,

ringrazio della disponibilità e tempestività.

Nelle TextBox con evento KeyPress, sono inserite i valori numerici
e decimali (con la virgola per es: 2.562,96) ed in alcune TextBox
(0,00).

Gradirei se è possibile che all'invio sulle TextBox 0,00, apparisse un messaggio che il campo non ha numeri.

Mi scuso e fiducioso, saluto.
Domenico
843 messaggi dal 08 aprile 2009
con la proprietà .Length stai controllando la lunghezza digitata non il valore.
Per quello che vuoi fare devi prendere il valore con la proprietà .text, convertirlo in decimal e virificare se è = a 0.
135 messaggi dal 01 novembre 2012
Gent.mo Laurar181,

ringrazio della cortesia e disponibilità.

Mi scuso se approfitto, se gentilmente puoi fornire un esempio
che da giorni sono dietro senza riuscire.

Anticipatamente ringrazio e fiducioso, saluto.
Domenico.
135 messaggi dal 01 novembre 2012
Gent.mo Laurar181,

faccio seguito alla precedente e scusa della confusione.

Con il codice che riporto funziona sia se la TextBox è inserito il
numero "1.365,21" che con separatore decimali "0,00".

private static double GetTextBoxDouble(TextBox t, double _default = 0.00)
{
   var text = t.Text.Replace(',', '.');
   var b = double.TryParse(text, NumberStyles.Any, CultureInfo.InvariantCulture, out var val);
   return (b ? val : _default);
}

private void TextBox2_KeyPress(object sender, KeyPressEventArgs e)
{
  if (e.KeyChar == (char)Keys.Enter)
  {
     if (TextBox1.Text.Length >= 1)
     {
        TextBox3.Focus();
     }

   double num = GetTextBoxDouble(TextBox1);
     if (num == 0.00)
     {
        MessageBox.Show("Il campo non ha il numero");
        TextBox2.Clear(); TextBox2.Focus();
     }
  }
}

Gradirei che dovrebbe funzionare solo con TextBox con "0,00".

Grazie e fiducioso, saluto.
Domenico.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.