- using System;
- using System.Drawing;
- using System.Windows.Forms;
-
- [ToolboxBitmap(typeof(TextBox))] // Pour avoir un bel icone de Textbox dans la toolbox
- public class NumericBox : TextBox
- {
- public NumericBox()
- {
- }
-
- //* Désactiver les 6 lignes suivantes pour permettre le copier / coller */
- private const int WM_PASTE = 0x0302;
- protected override void WndProc(ref System.Windows.Forms.Message m)
- {
- if (m.Msg != WM_PASTE)
- base.WndProc(ref m);
- }
-
- protected override void OnKeyPress(KeyPressEventArgs e)
- {
- // Si la caractère tapé est numérique
- if (char.IsNumber(e.KeyChar))
- {
- if (e.KeyChar == '²') e.Handled = true; // Si c'est un '²', on gère l'evenement.
- else e.Handled = false; // Sinon, on laisse passer le caractère (On peut omettre cette ligne)
- }
- // Si le caractère tapé est un caractère de "controle" (Enter, backspace, ...), on laisse passer
- else if (char.IsControl(e.KeyChar)) e.Handled = false;
- // Et sinon, on gère toutes les autres touches tapées, et on en fait rien
- else e.Handled = true;
- }
- }
using System;
using System.Drawing;
using System.Windows.Forms;
[ToolboxBitmap(typeof(TextBox))] // Pour avoir un bel icone de Textbox dans la toolbox
public class NumericBox : TextBox
{
public NumericBox()
{
}
//* Désactiver les 6 lignes suivantes pour permettre le copier / coller */
private const int WM_PASTE = 0x0302;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg != WM_PASTE)
base.WndProc(ref m);
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
// Si la caractère tapé est numérique
if (char.IsNumber(e.KeyChar))
{
if (e.KeyChar == '²') e.Handled = true; // Si c'est un '²', on gère l'evenement.
else e.Handled = false; // Sinon, on laisse passer le caractère (On peut omettre cette ligne)
}
// Si le caractère tapé est un caractère de "controle" (Enter, backspace, ...), on laisse passer
else if (char.IsControl(e.KeyChar)) e.Handled = false;
// Et sinon, on gère toutes les autres touches tapées, et on en fait rien
else e.Handled = true;
}
}