首页 > 其他分享 >【Winform】禁用控件但不变灰

【Winform】禁用控件但不变灰

时间:2023-03-01 17:57:12浏览次数:50  
标签:控件 STYLE Handle int 禁用 System GWL public Winform

https://blog.csdn.net/Cool2Feel/article/details/81018722

        [System.Runtime.InteropServices.DllImport("user32.dll ")]
        public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int wndproc);
        [System.Runtime.InteropServices.DllImport("user32.dll ")]
        public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
 
        public const int GWL_STYLE = -16;
        public const int WS_DISABLED = 0x8000000;
 
        public static void SetControlEnabled(Control c, bool enabled)
        {
            if (enabled)
            { SetWindowLong(c.Handle, GWL_STYLE, (~WS_DISABLED) & GetWindowLong(c.Handle, GWL_STYLE)); }
            else
            { SetWindowLong(c.Handle, GWL_STYLE, WS_DISABLED + GetWindowLong(c.Handle, GWL_STYLE)); }
        }
 
        private void button2_Click(object sender, System.EventArgs e)
        {
            SetControlEnabled(this.label, false);
            this.label.ForeColor = Color.White;
        }

 

标签:控件,STYLE,Handle,int,禁用,System,GWL,public,Winform
From: https://www.cnblogs.com/Mars-0603/p/17169165.html

相关文章