2013-10-14 1 views
2

Lorsque j'ai utilisé Char.IsNumber, une erreur s'est produite dans form1.designer.cs.La signature de méthode ne correspond pas à un gestionnaire d'événements de la zone de texte

Aucune surcharge pour "textBox1_TextChanged" correspond délégué 'System.EventHandler'

private void textBox1_TextChanged(object sender, KeyPressEventArgs e) 
{ 
    if (char.IsNumber(e.KeyChar)) 
    { 
     textBox1.Text = e.KeyChar.ToString(); 
    } 
    else 
    { 
     MessageBox.Show("Char value"); 
    } 
} 


///////////// Text Box /////////////// 
this.textBox1.Location = new System.Drawing.Point(73, 57); 
this.textBox1.Name = "textBox1"; 
this.textBox1.Size = new System.Drawing.Size(177, 20); 
this.textBox1.TabIndex = 0; 
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); // error occurs on this line 
+0

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged.aspx –

Répondre

2

changement KeyPressEventArgs-TextChangedEventArgs (pour WPF, pour WinForms utiliser EventArgs). L'erreur vous indique que la signature de l'événement TextChanged ne correspond pas à la méthode que vous lui attribuez.

+0

Je pense que 'TextChangedEventArgs' est seulement dans WPF, cela ressemble à Windows Forms. – Chris

0

Votre gestionnaire ne correspond pas à la signature de l'événement TextChanged, essayez ceci:

private void textBox1_TextChanged(object sender, EventArgs e) 

Aussi, lorsque vous le faites, vous trouverez qu'il n'y a pas e.KeyChar sur l'événement TextChanged. Êtes-vous sûr que c'est l'événement que vous voulez?

Questions connexes