• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我希望你是我獨(dú)家記憶

            一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
            posts - 263, comments - 31, trackbacks - 0, articles - 3
               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

            自定義鍵盤快捷鍵

            Posted on 2010-11-29 16:55 Hero 閱讀(709) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C#積累
              1using System;
              2using System.Windows;
              3using System.Windows.Controls;
              4using System.Windows.Input;
              5using System.Windows.Media;
              6
              7namespace Petzold.CommandTheMenu
              8{
              9    public class CommandTheMenu : Window
             10    {
             11        TextBlock text;
             12
             13        [STAThread]
             14        public static void Main()
             15        {
             16            Application app = new Application();
             17            app.Run(new CommandTheMenu());
             18        }

             19        public CommandTheMenu()
             20        {
             21            Title = "Command the Menu";
             22
             23            // Create DockPanel.
             24            DockPanel dock = new DockPanel();
             25            Content = dock;
             26
             27            // Create Menu docked at top.
             28            Menu menu = new Menu();
             29            dock.Children.Add(menu);
             30            DockPanel.SetDock(menu, Dock.Top);
             31
             32            // Create TextBlock filling the rest.
             33            text = new TextBlock();
             34            text.Text = "Sample clipboard text";
             35            text.HorizontalAlignment = HorizontalAlignment.Center;
             36            text.VerticalAlignment = VerticalAlignment.Center;
             37            text.FontSize = 32;     // ie, 24 points
             38            text.TextWrapping = TextWrapping.Wrap;
             39            dock.Children.Add(text);
             40
             41            // Create Edit menu.
             42            MenuItem itemEdit = new MenuItem();
             43            itemEdit.Header = "_Edit";
             44            menu.Items.Add(itemEdit);
             45
             46            // Create items on Edit menu.
             47            MenuItem itemCut = new MenuItem();
             48            itemCut.Header = "Cu_t";
             49            itemCut.Command = ApplicationCommands.Cut;
             50            itemEdit.Items.Add(itemCut);
             51
             52            MenuItem itemCopy = new MenuItem();
             53            itemCopy.Header = "_Copy";
             54            itemCopy.Command = ApplicationCommands.Copy;
             55            itemEdit.Items.Add(itemCopy);
             56
             57            MenuItem itemPaste = new MenuItem();
             58            itemPaste.Header = "_Paste";
             59            itemPaste.Command = ApplicationCommands.Paste;
             60            itemEdit.Items.Add(itemPaste);
             61
             62            MenuItem itemDelete = new MenuItem();
             63            itemDelete.Header = "_Delete";
             64            itemDelete.Command = ApplicationCommands.Delete;
             65            itemEdit.Items.Add(itemDelete);
             66
             67            // Add command bindings to window collection.            
             68            CommandBindings.Add(new CommandBinding(ApplicationCommands.Cut,
             69                                        CutOnExecute, CutCanExecute));
             70            CommandBindings.Add(new CommandBinding(ApplicationCommands.Copy,
             71                                        CopyOnExecute, CutCanExecute));
             72            CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste,
             73                                        PasteOnExecute, PasteCanExecute));
             74            CommandBindings.Add(new CommandBinding(ApplicationCommands.Delete,
             75                                        DeleteOnExecute, CutCanExecute));
             76
             77
             78
             79            添加自定義鍵盤快捷鍵
             92        }

             93
             94        void RestoreExecute( object sender, ExecutedRoutedEventArgs e )
             95        {
             96            this.text.Text = "John";
             97        }

             98
             99        void CutCanExecute(object sender, CanExecuteRoutedEventArgs args)
            100        {
            101            args.CanExecute = text.Text != null && text.Text.Length > 0;
            102        }

            103        void PasteCanExecute(object sender, CanExecuteRoutedEventArgs args)
            104        {
            105            args.CanExecute = Clipboard.ContainsText();
            106        }

            107        void CutOnExecute(object sender, ExecutedRoutedEventArgs args)
            108        {
            109            ApplicationCommands.Copy.Execute( nullthis );
            110            ApplicationCommands.Delete.Execute(nullthis);
            111        }

            112        void CopyOnExecute(object sender, ExecutedRoutedEventArgs args)
            113        {
            114            Clipboard.SetText(text.Text);
            115        }

            116        void PasteOnExecute(object sender, ExecutedRoutedEventArgs args)
            117        {
            118            text.Text = Clipboard.GetText();
            119        }

            120        void DeleteOnExecute(object sender, ExecutedRoutedEventArgs args)
            121        {
            122            text.Text = null;
            123        }

            124    }

            125}

            126
            91秦先生久久久久久久| 777久久精品一区二区三区无码 | 亚洲国产精品久久久久婷婷软件 | 久久只有这精品99| 亚洲人成伊人成综合网久久久| 蜜臀久久99精品久久久久久小说| 国产精品美女久久久久网| 久久成人精品视频| 狠狠色狠狠色综合久久| 99久久精品久久久久久清纯| 综合久久一区二区三区| 久久婷婷综合中文字幕| 久久久精品国产免大香伊 | 很黄很污的网站久久mimi色| 无码人妻久久一区二区三区免费| 国产精品青草久久久久福利99| 精品久久久久久国产| 久久777国产线看观看精品| 精品久久久久久久国产潘金莲| 99久久99久久| 91精品国产色综合久久| 国产激情久久久久久熟女老人| 99久久www免费人成精品| 久久国产乱子伦免费精品| 亚洲AV无一区二区三区久久| 四虎影视久久久免费| 香蕉99久久国产综合精品宅男自| 青青草国产精品久久| 精品国产一区二区三区久久久狼| 色综合久久久久久久久五月| 99精品国产免费久久久久久下载| 久久综合一区二区无码| 久久无码AV中文出轨人妻| 久久久99精品一区二区| 国内精品伊人久久久久影院对白| 很黄很污的网站久久mimi色| 久久99精品久久久久久齐齐 | 九九久久99综合一区二区| 日本精品久久久久中文字幕| 日本一区精品久久久久影院| 亚洲国产成人久久精品影视|