zoukankan      html  css  js  c++  java
  • 为控件在后台设置快捷键

    代码如下:

        /// <summary>
        /// 按钮设置快捷键
        /// </summary>
        /// <param name="pageCurrent">Page</param>
        /// <param name="slkey"></param>
        private void SetShortcutKey(System.Web.UI.Page pageCurrent, SortedList slkey)
        {
            int icount = slkey.Count;
            string strjavascript = "<script type=\"text/javascript\"> "
                                     + "document.onkeydown = function() "
                                     + "{"
                                     + "     if(event.keyCode==" + slkey.GetByIndex(0) + ")"
                                     + "     { "
                                     + "         document.getElementById('" + slkey.GetKey(0) + "').click();"
                                     + "     }";
            for (int j = 1; j < icount; j++)
            {
                strjavascript += "if(event.keyCode==" + slkey.GetByIndex(j) + ")"
                              + " { "
                              + "       document.getElementById('" + slkey.GetKey(j) + "').click();"
                              + " }";
            }
            strjavascript += "}</script>";
            pageCurrent.ClientScript.RegisterStartupScript(pageCurrent.GetType(), Guid.NewGuid().ToString(), strjavascript);
        }
        SortedList _shortcutkeys;
        public void AddShortcutKey(WebControl control, string keycode)
        {
            if (_shortcutkeys == null)
            {
                _shortcutkeys = new SortedList();
            }
            _shortcutkeys.Add(control.ClientID, keycode);
        }
    
            /// <summary>
            /// 设置快捷键
            /// </summary>
            private void ShortcutKey()
            {
                AddShortcutKey(btnSave, ShortKeyConst.F7);
                AddShortcutKey(btnSubmit, ShortKeyConst.F12);
            }
    
        /// <summary>
        /// 设置快捷键
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(HtmlTextWriter writer)
        {
            if (_shortcutkeys != null)
            {
                SetShortcutKey(this, _shortcutkeys);
            }
            base.Render(writer);
        }
    
        public class ShortKeyConst
        {
            public const string F2 = "113";
            public const string F7 = "118";
            public const string F8 = "119";
            public const string F9 = "120";
            public const string F11 = "122";
            public const string F12 = "123";
            public const string Esc = "27";
        }
  • 相关阅读:
    POJ 3255 Roadblocks
    KMP算法的前缀next数组最通俗的解释
    HDU 1829 A Bug's Life
    HDU 1879 继续畅通工程
    课程设计:学生管理系统(c++)
    HDU 1016 Prime Ring Problem
    HDU 4310 Hero
    素数筛选法<单向链表实现>
    【未完】训练赛20190304:KMP+树状数组+线段树+优先队列
    畅通工程:并查集入门裸题
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2668640.html
Copyright © 2011-2022 走看看