2017-10-01 1 views
0

J'ai besoin d'aide car je n'arrive pas à afficher l'étiquette de texte ici. J'utilise Windows Form C# VS 2015. Lorsque j'appuie sur enter, l'erreur est sur barangay = int.Parse (lblDistrict.Text); euh aussi, j'applique de la même façon console.readline est utilisé mais il semble que cela ne fonctionne pas. Quelqu'un peut-il m'aider dans le code? :) Merci d'avanceJ'utilise int parse de la même manière que dans l'application console mais ne fonctionne pas dans les winforms

private void txtBarangay_KeyPress(object sender, KeyPressEventArgs e) 
{ 

    int barangay = 0; 
    barangay = int.Parse(lblDistrict.Text); 

    if (e.KeyChar == (char)13) 
    { 
     if (barangay >= 1 && barangay <= 146) 
     { 
      lblDistrict.Text = "District 1"; 
     } 
     else if (barangay >= 147 && barangay <= 267) 
     { 
      lblDistrict.Text = "District 2"; 
     } 
    } 
} 
+0

Quelle erreur obtenez-vous? –

+0

Il n'affiche plus d'erreurs mais il n'affiche rien. –

+0

Eh bien, quelle est la valeur de 'lblDistrict.Text'? Quels diagnostics avez-vous effectués? Avez-vous traversé cela dans le débogueur? Le gestionnaire est-il même appelé? S'il vous plaît fournir un [mcve]. –

Répondre

0

C'est la question de la concentration. Lorsque vous appuyez sur la touche, quel contrôle est-il focalisé? Est-ce celui pour lequel vous avez écrit l'événement KeyPress?

Vous devez donc vous assurer que lorsque la touche est enfoncée, soit que le contrôle spécifique a le focus, ou ajoutez-le même à tous les contrôles.

+0

Entrée = 13 Je l'ai regardé sur youtube que lorsque e.KeyChar == (char) 13 est entrer –

+0

Oui KeyCode de _Enter_ est 13, le problème est que le contrôle que vous avez écrit _KeyPress_ événement, doit être concentré lorsque vous appuyez sur Clé _Enter_ afin de déclencher l'événement. Et notez également que le focus pour les contrôles 'Label' ne se déclenche pas (dans le cas où le contrôle est un label) –

+0

Son fait mais Format Exception est manipulé cette fois. –

0

D'abord, S'il vous plaît inclure bloc try-catch dans votre programme en vue de la capture.

Si la chaîne contenue dans la zone de texte contient autre chose que numéros UNIQUEMENT (exemple "12er"), elle lancera Exception. Essayez Int.TryParse si c'est le cas