Δοκίμασα αυτόν τον κώδικα:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (Convert.ToInt32(e.KeyChar) == 13)
{
MessageBox.Show(" Enter pressed ");
}
}
και αυτό:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{
MessageBox.Show(" Enter pressed ");
}
}
και αυτό:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Keys.Enter)
{
MessageBox.Show(" Enter pressed ");
}
}
αλλά δεν λειτουργούν...
Όταν γράφω κάτι και πατάω Enter, δεν λειτουργεί. Επισημαίνει μόνο το κείμενό μου.
Δοκιμάστε αυτόν τον κώδικα, μπορεί να δουλέψει (υποθέτοντας τη φόρμα παραθύρων):
private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// Το πλήκτρο Enter πατήθηκε
}
}
Καταχωρίστε το συμβάν ως εξής :
this.textBox1.KeyPress += new
System.Windows.Forms.KeyPressEventHandler(CheckEnter),
Πρέπει να δοκιμάσετε αυτό στο συμβάν keydown
Εδώ είναι ο κώδικας για αυτό :
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
MessageBox.Show("Enter pressed");
}
}
Ενημέρωση :
Επίσης, μπορείτε να το κάνετε αυτό με το συμβάν πατήματος πλήκτρου.
Δοκιμάστε αυτό :
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Return))
{
MessageBox.Show("Key pressed");
}
}
Δοκιμάστε αυτό:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.Key.ToString())
{
case "Return":
MessageBox.Show(" Enter pressed ");
break;
}
}