Sprawdzenie przycisku przy ładowaniu formy.

0

Witam. Mam formę do logowania i na niej umieściłem niewidoczny label który ma działać tak, że jak forma się załaduje to klawiatura ma sprawdzać czy włączony jest CapsLock wtedy warunek wykonuje. Analogicznie jeśli nie jest włączony to ma znikać label.
label1.Visible = true;
Próbowałem użyć zdarzenia KeyDown i wstawiłem ten warunek w Form1_Load, ale nie działa.

Czytałem o użytkowniku, który robił takiego coś globalnie, że działa to nawet wtedy gdy jesteś na innym oknie chciałbym, żeby też tak działało.

0

Keyboard Hook?

0

Musisz odczytać stan klawisza CapsLock podczas załadowania formy. W tym celu musisz użyć funkcji z WinAPI:

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);

i później sprawdzasz czy jest wciśnięty tak:

bool caps = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;

Jeśli chodzi o reagowania naciśnięcia CapsLocka już po załadowaniu formy, to sobie obsłuż event KeyDown formy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1