2009-07-17 77 views

回答

2

这是一个非常简单的技巧,它只是取代用于窗口背景的系统颜色。您可以通过P /调用SetSysColor()API函数来更改它。这里有一个演示这种技术的示例Windows窗体应用程序。开始一个新的WF应用程序并在窗体上放置一个按钮。然后粘贴此代码:

using System; 
using System.Drawing; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 

namespace WindowsFormsApplication1 { 
    public partial class Form1 : Form { 
    int oldcolor; 
    public Form1() { 
     InitializeComponent(); 
     oldcolor = GetSysColor(COLOR_WINDOW); 
     this.FormClosed += new FormClosedEventHandler(Form1_FormClosed); 
     this.button1.Click += new EventHandler(button1_Click); 
    } 

    private void Form1_FormClosed(object sender, FormClosedEventArgs e) { 
     int element = COLOR_WINDOW; 
     SetSysColors(1, ref element, ref oldcolor); 
    } 

    private int Color2COLORREF(Color color) { 
     return color.R | (color.G << 8) | (color.B << 0x10); 
    } 

    private void button1_Click(object sender, EventArgs e) { 
     int element = COLOR_WINDOW; 
     int colorref = Color2COLORREF(Color.NavajoWhite); 
     SetSysColors(1, ref element, ref colorref); 
    } 

    private const int COLOR_WINDOW = 5; 
    [DllImport("user32.dll")] 
    private static extern bool SetSysColors(int one, ref int element, ref int color); 
    [DllImport("user32.dll")] 
    private static extern int GetSysColor(int element); 

    } 
} 
+0

即时按下按钮,什么都没有发生 – 2009-07-18 19:30:04

1

Offtopic有点,但您可以将Word更改为默认为“白色蓝色”。蓝色背景,白色文本。