zoukankan      html  css  js  c++  java
  • WPF中设置快捷键

    方式1:

    窗体中加入资源

     <UserControl.Resources>
            <RoutedUICommand x:Key="Cut" Text="剪切" />
            <RoutedUICommand x:Key="Copy" Text="复制" />
            <RoutedUICommand x:Key="Paste" Text="粘贴" />
            <RoutedUICommand x:Key="Select" Text="全选" />
        </UserControl.Resources>
        <UserControl.InputBindings>
            <KeyBinding Gesture="Ctrl+X" Command="{StaticResource Cut}" />
            <KeyBinding Gesture="Ctrl+C" Command="{StaticResource Copy}" />
            <KeyBinding Gesture="Ctrl+V" Command="{StaticResource Paste}" />
        </UserControl.InputBindings>
        <UserControl.CommandBindings>
            <CommandBinding Command="{StaticResource Cut}" Executed="CommandBinding_Cut"></CommandBinding>
            <CommandBinding Command="{StaticResource Copy}" Executed="CommandBinding_Copy"></CommandBinding>
            <CommandBinding Command="{StaticResource Paste}" Executed="CommandBinding_Paste"></CommandBinding>
        </UserControl.CommandBindings>

    其中:CommandBinding_Cut ,CommandBinding_Copy ,CommandBinding_Paste 是按下快捷键对用的事件操作

     private void CommandBinding_Cut(object sender, ExecutedRoutedEventArgs e)
     {
               
     }

    方式2:

    写控件或者窗体的KeyDown事件 PreviewKeyDown="Window_KeyDown"

    private void Window_KeyDown(object sender, KeyEventArgs e)
            {
                try
                {

                    if (e.Key == Key.Enter)
                    {
                        //搜索
                        if (Keyboard.FocusedElement != null && Keyboard.FocusedElement == SearchTxt) Search_Click(SearchBtn, e);
                        //文件或者文件夹重命名
                        if (Keyboard.FocusedElement != null && Keyboard.FocusedElement.GetType().Name == "TextBox")
                        {
                            TextBox box = Keyboard.FocusedElement as TextBox;
                            FilesModel model = box.DataContext as FilesModel;
                            if (model != null) ReName_LostFocus(box, e);
                        }

                        Keyboard.ClearFocus();
                    }
                    //Ctrl+C 全选
                    if ((e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)) && e.KeyboardDevice.IsKeyDown(Key.C))
                    {
                        if (Keyboard.FocusedElement != null && Keyboard.FocusedElement.GetType().Name == "TextBox") return;
                        CommandBinding_Copy(null, null);
                    }

                    //Ctrl+X 全选
                    if ((e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)) && e.KeyboardDevice.IsKeyDown(Key.X))
                    {
                        if (Keyboard.FocusedElement != null && Keyboard.FocusedElement.GetType().Name == "TextBox") return;
                        CommandBinding_Cut(null, null);
                    }
                    //Ctrl+V 全选
                    if ((e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)) && e.KeyboardDevice.IsKeyDown(Key.V))
                    {
                        if (Keyboard.FocusedElement != null && Keyboard.FocusedElement.GetType().Name == "TextBox") return;
                        CommandBinding_Paste(null, null);
                    }

                    //Ctrl+A 全选
                    if ((e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)) && e.KeyboardDevice.IsKeyDown(Key.A))
                    {
                        SelectAllCheck.IsChecked = true;
                        SelectAll_Click(SelectAllCheck, e);
                    }
                    //Shift+D 删除
                    if ((e.KeyboardDevice.IsKeyDown(Key.LeftShift) || e.KeyboardDevice.IsKeyDown(Key.RightShift)) && e.KeyboardDevice.IsKeyDown(Key.Delete))
                    {
                        DeleteBtn_Click(null, e);
                    }
                }
                catch (Exception)
                {
                }

            }

  • 相关阅读:
    安装xml2js出现npm ERR! code E404 npm ERR! 404 Not Found: event-stream@3.3.6
    ie的盒模型和标准模型
    vue-生命周期
    Vue2.5入门-2
    Vue2.5入门-1
    Vue2.5入门-3
    理解 ajax、fetch和axios
    sublime install package没反应,以及安装后没有出现install package选项
    6-创建官网
    numpy数组常用计算
  • 原文地址:https://www.cnblogs.com/zhaolili/p/5133918.html
Copyright © 2011-2022 走看看