<p>Deux options :</p>
<ul>
<li></li>
</ul>
<p>Utilisez un <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.numericupdown(v=vs.110).aspx"><code>NumericUpDown</code></a> a la place. NumericUpDown effectue le filtrage pour vous, ce qui est pratique. Bien entendu, il donne egalement a vos utilisateurs la possibilite d’appuyer sur les fleches haut et bas du clavier pour incrementer et decrementer la valeur actuelle.</p>
<ul>
<li></li>
</ul>
<p>Gerez les evenements clavier appropries pour empecher toute saisie non numerique. Nous avons eu du succes avec ces deux gestionnaires d’evenements sur un TextBox standard :</p>
<pre><code class="lang-auto">private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
(e.KeyChar != '.'))
{
e.Handled = true;
}
// only allow one decimal point
if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
{
e.Handled = true;
}
}
</code></pre>
<p>Vous pouvez supprimer la verification de <code>'.'</code> (et la verification subsequente de plus d’un <code>'.'</code>) si votre TextBox ne doit pas autoriser les decimales. Vous pourriez egalement ajouter une verification de <code>'-'</code> si votre TextBox doit autoriser les valeurs negatives.</p>
<p>Si vous souhaitez limiter l’utilisateur en nombre de chiffres, utilisez : <code>textBox1.MaxLength = 2; // this will allow the user to enter only 2 digits</code></p>