cysior Opublikowano 16 Maja 2013 Udostępnij Opublikowano 16 Maja 2013 Witam. Dopiero zaczynam swoją przygodę z C# i postanowiłem napisać prosty programik, który wykonuje akcje kiedy klawisz TAB zostanie naciśnięty. Niestety nie wiem z jakiego powodu visual wyszukuję bład i podkreśla e.keycode. Treść błędu : Error 1 'System.Windows.Forms.KeyPressEventArgs' does not contain a definition for 'KeyCode' and no extension method 'KeyCode' accepting a first argument of type 'System.Windows.Forms.KeyPressEventArgs' could be found (are you missing a using directive or an assembly reference?) //kawałek kodu. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Imaging; namespace WindowsFormsApplication1 { public partial class Form1 : Form { string pw = ""; string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); public Form1() { InitializeComponent(); } private void Form1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyCode == Keys.Tab) { pw += "1"; MessageBox.Show(pw); }; } private void Form1_Load(object sender, EventArgs e) { } } } }; Z góry dzięki za pomoc ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 17 Maja 2013 Administratorzy Udostępnij Opublikowano 17 Maja 2013 http://msdn.microsoft.com/pl-pl/library/sy...seventargs.aspx - z tego co widzę, nie ma właściwości KeyCode, tylko KeyChar - ale to edytor powinien Ci podkreślać (kompiler z tego co widzę to łapie). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 17 Maja 2013 Udostępnij Opublikowano 17 Maja 2013 O ile dobrze pamiętam ma być KeyChar a nie KeyCode. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 17 Maja 2013 Udostępnij Opublikowano 17 Maja 2013 O ile dobrze pamiętam ma być KeyChar a nie KeyCode. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 17 Maja 2013 Autor Udostępnij Opublikowano 17 Maja 2013 Probowałem już wcześniej z KeyChar, ale to działa prawidłowo z stringami typu "a", "1", "(" itd. Jeżeli sobie wpiszę if (e.KeyChar == Keys.Tab) { pw += "1"; MessageBox.Show(pw); }; To podkreśla mi cała wartość nawiasu w stawianym warunku. Error 1 Operator '==' cannot be applied to operands of type 'char' and 'System.Windows.Forms.Keys' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 17 Maja 2013 Udostępnij Opublikowano 17 Maja 2013 Użyj eventu: KeyDown a nie KeyPress a potem możesz np: SuppressKeyPress(); żeby nie wywołać eventu dla KeyPress. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 17 Maja 2013 Autor Udostępnij Opublikowano 17 Maja 2013 Dzięki wam za pomoc. Mam jeszcze takie pytanie, jak najlepiej sprawdzać czy CAPSLOCK jest w użyciu ? @E: Dzięki Zamykam . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 17 Maja 2013 Udostępnij Opublikowano 17 Maja 2013 Spróbuj: Control.IsKeyLocked(Keys.CapsLock) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się