C#控件Enable设为false和true后的字体颜色修改

来源:互联网 发布:sql 树形结构 编辑:程序博客网 时间:2024/05/29 08:51
  1. [System.Runtime.InteropServices.DllImport("user32.dll ")]  
  2. public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int wndproc);  
  3. [System.Runtime.InteropServices.DllImport("user32.dll ")]  
  4. public static extern int GetWindowLong(IntPtr hWnd, int nIndex);  
  5.   
  6. public const int GWL_STYLE = -16;  
  7. public const int WS_DISABLED = 0x8000000;  
  8.   
  9. public static void SetControlEnabled(Control c, bool enabled)  
  10. {  
  11.     if (enabled)  
  12.     { SetWindowLong(c.Handle, GWL_STYLE, (~WS_DISABLED) & GetWindowLong(c.Handle, GWL_STYLE)); }  
  13.     else  
  14.     { SetWindowLong(c.Handle, GWL_STYLE, WS_DISABLED + GetWindowLong(c.Handle, GWL_STYLE)); }  
  15. }  
  16.   
  17. private void button2_Click(object sender, System.EventArgs e)  
  18. {
  19.     SetControlEnabled(this.button1, false);
  20.     this.button1.ForeColor = Color.White;
  21. }

原创粉丝点击