我创建了一个静态类数字文本框,但我不想控制用户在文本框中粘贴的内容。为了处理粘贴事件,我使用 textchanged 事件:
static public void textChanged(EventArgs e, TextBox textbox, double tailleMini, double tailleMaxi, string carNonAutorisé)
{
//Recherche dans la TextBox, la première occurrence de l'expression régulière.
Match match = Regex.Match(textbox.Text, carNonAutorisé);
/*Si il y a une Mauvaise occurence:
* - On efface le contenu collé
* - On prévient l'utilisateur
*/
if (match.Success)
{
textbox.Text = "";
MessageBox.Show("Votre copie un ou des caractère(s) non autorisé", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
tailleTextBox(textbox, tailleMini, tailleMaxi);
}
在另一个类中,我像这样使用这个静态方法
private void tbxSigné_TextChanged(object sender, EventArgs e)
{
FiltreTbx.textChanged(e, tbxSigné, double.MinValue, double.MaxValue, @"[^\d\,\;\.\-]");
}
我不想做的是这样的:
if (match.Success)
{
textbox.Text = //Write the text before users paste in the textbox;
}
有人有想法吗?