苏飞论坛

标题: 鼠标划过comboBox 改变边框颜色 [打印本页]

作者: zvallnote    时间: 2014-7-23 15:21
标题: 鼠标划过comboBox 改变边框颜色
请问鼠标划过comboBox 怎么改变边框颜色,我知道重绘可以改变边框颜色,但是固定的

但是我要的效果 是 鼠标划过comboBox 改变边框颜色,离开时 边框颜色消失。

作者: 站长苏飞    时间: 2014-7-23 18:33
看我的皮肤里面我写的有吧
作者: zvallnote    时间: 2014-7-23 19:55
本帖最后由 zvallnote 于 2014-7-23 20:26 编辑
站长苏飞 发表于 2014-7-23 18:33
看我的皮肤里面我写的有吧

这样对吗。。不过我没起作用 没有绘制边框。但  MessageBox弹了设置了这个 也不起作用
Comb1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
[C#] 纯文本查看 复制代码
      protected override void OnMouseEnter(EventArgs e)
        {
            _mouseEnter = true;

            IntPtr hDC = IntPtr.Zero;
            Graphics gdc = null;
            hDC = Win32.GetWindowDC(this.Handle);
            gdc = Graphics.FromHdc(hDC);

           // gdc.DrawImage(Shared.MouseMoveDrawButton, new Rectangle(this.Width - 20, 3, 16, 16));
            ControlPaint.DrawBorder(gdc, new Rectangle(0, 0, Width, Height), Color.DodgerBlue, ButtonBorderStyle.Solid);
            //画坚线
            ControlPaint.DrawBorder(gdc, new Rectangle(Width - Height, 0, Height, Height), Color.DodgerBlue, ButtonBorderStyle.Solid);
            //g.DrawLine(new Pen(Brushes.Blue, 2), new PointF(this.Width - this.Height, 0), new PointF(this.Width - this.Height, this.Height));

            Win32.ReleaseDC(this.Handle, hDC);
            gdc.Dispose();

            base.OnMouseEnter(e);
        }




作者: zvallnote    时间: 2014-7-24 17:43
zvallnote 发表于 2014-7-23 19:55
这样对吗。。不过我没起作用 没有绘制边框。但  MessageBox弹了设置了这个 也不起作用
Comb1.DrawMode = ...

已经解决 谢谢!
作者: ching126    时间: 2014-12-6 08:35
我只是路过打酱油的。
作者: ching126    时间: 2014-12-6 08:35
我只是路过打酱油的。




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4