• 界面进行暂时锁定[原]


            在项目中,有时对界面的控制是这样的,需要在当前界面操作未完成时不允许另外的界面进行操作,于是有了下面的代码:
     

     1    /// <summary>
     2    /// 控制系统维护界面当点击按钮时,对界面进行暂时锁定
     3    /// Add by: Maxc
     4    /// </summary>

     5    public class SetUserControlEnable
     6    {   
     7        [DllImport("user32.dll")]
     8        private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int wndproc);
     9
    10        [DllImport("user32.dll")]
    11        private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
    12
    13        private const int GWL_STYLE = -16;
    14        private const int WS_DISABLED = 0x8000000;
    15
    16        private static void SetControlEnabled(Control c, bool enabled)
    17        {
    18            if (enabled)
    19            { SetWindowLong(c.Handle, GWL_STYLE, (~WS_DISABLED) & GetWindowLong(c.Handle, GWL_STYLE)); }
    20            else
    21            { SetWindowLong(c.Handle, GWL_STYLE, WS_DISABLED + GetWindowLong(c.Handle, GWL_STYLE)); }
    22        }

    23
    24        当点击按钮的时候,让所有界面都被锁定 private void LockAllInterface()
    35
    36        点击之后,所有界面都被解锁 private void UnlockAllInterface()
    47    }

    通过上述代码就可实现想要的效果了。
  • 相关阅读:
    [校内模拟赛T3]火花灿灿_二分答案_组合数学_贪心
    [loj#539][LibreOJ NOIP Round #1]旅游路线_倍增_dp
    [loj#2005][SDOI2017]相关分析 _线段树
    [bzoj3162]独钓寒江雪_树hash_树形dp
    [bzoj2746][HEOI2012]旅行问题 _AC自动机_倍增
    [bzoj2597][Wc2007]剪刀石头布_费用流
    [bzoj4818][Sdoi2017]序列计数_矩阵乘法_欧拉筛
    vue中的组件传值
    vue中的修饰符
    箭头函数递归斐波那契数列
  • 原文地址:https://www.cnblogs.com/winnxm/p/1086525.html
Copyright © 2020-2023  润新知