0

私は初心者プログラマーで、C# (実際には WPF) でコードを書いています。私のコードに問題があり、あなたが助けてくれるかどうか疑問に思いました.

すでに存在するDoubleClickスイッチに a を追加する必要があります。e.Keyコードは次のようなものです。

private void txtMainInput(object sender, keyEventArgs e)
{
    ...
    switch (e.key)
    {
        case Key.Enter:
                OnInput_EnterDown();
        break;

        case Key.Tab:
                OnInput_TabDown();
        break;

        case MouseDoubleClick:
                OnInput_DoubleClick();

        break;

        default:
        break;
   }
}

Problem isthird caseキーは から派生しkeyboardEventArgs、から派生するため、 は実際には存在しないため、を呼び出すことはできません。どうすればこれを克服できますか?mouseDoubleclickmouseEventArgsMouseDoubleClick

4

1 に答える 1

1

3番目のものが存在しない理由は、KeyEventArgsがマウスではなくキーボードのKeyDown/KeyPressイベントで返されるためです...

マウスクリックをサブスクライブするには、次のような別のイベントが必要で、MouseDoubleClickそこに必要なロジックを配置します。

    public MainWindow()
    {
        InitializeComponent();
        txtMainInput.MouseDoubleClick += txtInput_MouseDoubleClick;
    }

    void txtInput_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        // Put doubleClick logic here
    }

MouseDownなどにサブスクライブできるのと同じ方法でMouseUp...これをWPFとしてタグ付けしたので、これはXAMLでも実行できます....

于 2013-02-03T20:11:20.343 に答える