如题,代码如下
public partial class myComboBox : System.Windows.Forms.ComboBox
{
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    static extern IntPtr GetWindowDC(IntPtr hWnd);
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);    public myComboBox() : base()
    {
        this.FlatStyle = FlatStyle.Flat;
    }    protected override void WndProc(ref Message m)
    {
        base.WndProc(ref m);
        if (m.Msg == 0xf || m.Msg == 0x133)     //拦截系统消息
        {
            IntPtr hDC = GetWindowDC(m.HWnd);
            if (hDC.ToInt32() == 0)
            { return; }            Graphics g = Graphics.FromHdc(hDC);            //边框
            Rectangle rect = new Rectangle(0, 0, Width, Height);
            ControlPaint.DrawBorder(g, rect, Color.DarkGray, ButtonBorderStyle.Solid);            m.Result = IntPtr.Zero;     //返回结果
            ReleaseDC(m.HWnd, hDC);     //释放
        }
    }
}运行时在Win2000没问题,在XP下ComboBox控件文本框里有条粗黑线,在主窗体中 Main()方法把Application.EnableVisualStyles();这句注释掉就好了。
我现在不想注释这句,在XP样式下怎样能去掉这条黑线,求教各位高手。