Jak poprawnie obsłużyć skrót klawiszowy Alt+C?

Jak poprawnie obsłużyć skrót klawiszowy Alt+C?
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
mam problem z obsługą skrótu "alt + c"..

Robię to w następujący sposób:

Kopiuj
private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.Modifiers == Keys.Alt && e.KeyCode == Keys.C)
            {
                MessageBox.Show("jupi", "skrót", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        } 

inne skróty działają.. np. alt+f4 ; alt+f, ale na złość alt+c nie -.-

Jak temu zaradzić ?

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

U mnie to działa. Lewy alt + c i jest messagebox.

  • Rejestracja: dni
  • Ostatnio: dni
0

pamiętaj że w polskim układzie klawiatury prawy Alt zachowuje się jak normalny Alt + Ctrl (dla ułatwienia pisania polskich znaków)

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
2

A może jakaś inna aplikacja typu sterownik od czegoś przechwytuje ten skrót?

  • Rejestracja: dni
  • Ostatnio: dni
0

@dam1an - hm..
@somekind - tego to nie wiem.. (jak to sprawdzić? ;>)..

Ogólnie to robię program na wzór innego programu również wykonanego w C#, gdzie właśnie tam jest zastosowany ten skrót klawiszowy, i tam to działa ..
Nie wiem niestety jak to tam zostało wykonane technicznie..

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

U mnie też to działa. Rozumiem, że KeyPreview dla formatki masz true?

  • Rejestracja: dni
  • Ostatnio: dni
0

@fourfour - tak tak.. wspominałem, że inne kombinacje działają więc musiałem to ustawić :)

Ale może dla ścisłości wrzucę dokładny kod, który uruchamiam..

Kopiuj
 
public Form1()
        {
            InitializeComponent();
            this.KeyPreview = true;         
        }
Kopiuj
 
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
            if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.F4)    
            {
               Application.Exit();
            }

            if(e.Modifiers == Keys.Alt && e.KeyCode == Keys.C)
            {
                MessageBox.Show("mbox", "mbox", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
}	

Już zacząłem nawet podejrzewać, że może te if'y się jakoś gryzą -.- (ponieważ kombinacja alt_f4 działa) ... ale zostawiając tylko jedną instrukcję nadal to samo.. Będę musiał zrobić gdzieś test na innym komputerze... ale że aż takie manewry trzeba robić ....

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

Nie masz czasem karty grafiki od ATI i standardowego ich programiku w tray? Programik ten miał właśnie definiowany jakiś skrót klawiszowy, nie wiem, czy nie Alt-C właśnie... Może się mylę, ale tak mi się skojarzyło...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.