Gepostet: |
KeyDown. Warum feuerts nicht bei vk_up usw ab? | ||||||||||
Hallo. Ich versuche die Tastendrücke (incl. wiederholungen. also bei lange a drückern mehrere a's) abzufangen. aber bei vk_up und so weiter ruft er die Methode OnKeyDown net auf. Was kann ich dagegen machen? :-/ Ist doch scheisse. |
|||||||||||
Zum Seitenanfang | Homepage | ||||||||||
Gepostet: |
|||||||||||
also eigentlich müsste das funktionieren. mit e.KeyCode == Keys.Up kannst du die Gleichheit überprüfen... Falls es denn wirklich nicht geht, kannst du ja mal nen Code-Auszug posten... |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||
Gepostet: |
|||||||||||
Also, ich habs schon öfter probiert, es ist nichtmal ne reagtion da. Wenigstens müsste das Event doch ausgeführt werden? row wird nicht hochgesetzt. <pre> protected void OnKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Down) { row++; } if (e.KeyCode == Keys.ShiftKey) { shiftdown = true; } if (e.KeyCode == Keys.Space) { int endof = (lines[row] as Line).text.Length; (lines[row] as Line).text = (lines[row] as Line).text.Substring(0, col) + " " + (lines[row] as Line).text.Substring(col, endof - col); changedlines.Add(new intdefiner(row)); col++; Refresh(); } if (e.KeyCode == Keys.Back) { if (col > 0) { int endof = (lines[row] as Line).text.Length; (lines[row] as Line).text = (lines[row] as Line).text.Substring(0, col - 1) + (lines[row] as Line).text.Substring(col, endof - col); changedlines.Add(new intdefiner(row)); col--; } else { col = (lines[row - 1] as Line).text.Length; (lines[row - 1] as Line).text = (lines[row - 1] as Line).text + (lines[row] as Line).text; row--; rowcount--; lines.Remove((lines[row + 1] as Line)); for (int i = row; i < rowcount; i++) { changedlines.Add(new intdefiner(i)); } } Refresh(); } if (e.KeyData == Keys.Enter) { InsertLine((lines[row] as Line).text.Substring(col, (lines[row] as Line).text.Length - col), row+1); (lines[row] as Line).text = (lines[row] as Line).text.Substring(0, col); row++; col = 0; changedlines.Add(new intdefiner(row)); Refresh(); } if (e.KeyValue >= 65 && e.KeyValue <= 90) { int keysize = 0; string sbuchstabe = Convert.ToString((char)(e.KeyValue + keysize)); if (shiftdown == false) { sbuchstabe = sbuchstabe.ToLower(); } int endof = (lines[row] as Line).text.Length; (lines[row] as Line).text = (lines[row] as Line).text.Substring(0, col) + sbuchstabe + (lines[row] as Line).text.Substring(col, endof - col); col++; Refresh(); } } |
|||||||||||
Zum Seitenanfang | Homepage | ||||||||||