4 Stimmen

Die F7-Taste wird im KeyDown-Ereignis nicht erkannt.

Im KeyDown-Ereignis meines Silverlight-TextBox-Steuerelements wird der F7-Schlüssel nicht erkannt und ich habe bisher nicht herausfinden können, warum.

Hier ist der Code:

private void txtDraw_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.F7)
    {
        Debug.WriteLine("F7");
        drawRect();
    }
    else if (e.Key == Key.F8)
    {
        Debug.WriteLine("F8");
        draw2Rects();
    }
    else if (e.Key == Key.F9)
    {
        Debug.WriteLine("F9");
        draw3Rects();
    }
}

private void draw3Rects()
{

}

private void draw2Rects()
{

}

private void drawRect()
{
    Rectangle rect = new Rectangle();
    rect.Fill = new SolidColorBrush(red);
    Grid.SetColumn(rect, 1);
    Grid.SetRow(rect, 0);
}

Ich weiß, dass das Drücken der F7-Taste nichts bewirkt, da ich versucht habe, diesen Bereich zu debuggen und Debug.WriteLine() verwendet habe. Die einzigen Debug.WriteLine()-Methoden, die aufgerufen werden, sind wenn die F8-Taste und die F9-Taste gedrückt werden. F7 funktioniert nicht.

In Internet Explorer 32-Bit ist die F7-Taste für eine bestimmte Funktion reserviert (ich glaube es war Caret-Browsing). Ich habe noch nicht herausgefunden, wie ich dies ändern kann und kann es wahrscheinlich auch nicht ändern.

Eine Vermutung, die ich anstellen könnte, ist, dass Internet Explorer das KeyDown-Ereignis stiehlt, wenn die F7-Taste gedrückt wird. Ich weiß nicht, wie diese beiden Prozesse isoliert sind.

Irgendwelche Ideen, warum die F7-Taste nicht erkannt wird?

Vielen Dank

2voto

Andrew Punkte 25704

Es gibt ein offenes Verbindungsproblem im Zusammenhang mit dem breiteren Problem bestimmter Tastenkombinationen, die nicht freigelegt werden, weil der Browser sie zuerst erhält.

https://connect.microsoft.com/VisualStudio/feedback/details/525760/silverlight-in-ie8-ctrl-p-and-some-other-ctrl-shortcuts-cannot-catched

Aktuell hat das Verbindungsobjekt 7 Stimmen und der SL-Programm-Manager hat darauf geantwortet, dass dies so beabsichtigt ist - also sieht es nicht besonders hoffnungsvoll aus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X