你把代码放在mouse_enter和mouse_leave里啊
解决方案 »
- C#用栈计算表达式,帮忙修改下
- 怎么在gridview里面的某列加日历控件呀?
- 我也做个俄罗斯方块
- c#怎么与java极度相似?包括Object类都如此相似。两者有何渊缘?望大家发表意见?
- MessageBox如何用程序将它隐藏起来,再显示.
- 如何将函数中不同类型的数值传递出去,就是在外面要用到这些数值
- 问一个弱弱的问题,在winform应用程序下,怎样调出“打印设置”对话框呢?
- SqlDataSource+Datalist,实现编辑,怎么更新int和demical类型的值
- 寻找以下.NET工具,提供寻找线索或推荐其他工具也给分。
- c#控件最前问题
- 寻找一个数组中最大的N个数和最小的N个数的方法
- MS SQL2008R2进入管理器没有问题,就是不能打开新建查询
class CustomeComboBox : ComboBox //导入API函数
[System.Runtime.InteropServices.DllImport("user32.dll ")]
static extern IntPtr GetWindowDC(IntPtr hWnd);//返回hWnd参数所指定的窗口的设备环境。 [System.Runtime.InteropServices.DllImport("user32.dll ")]
static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); //函数释放设备上下文环境(DC) protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
//WM_PAINT = 0xf; 要求一个窗口重画自己,即Paint事件时
//WM_CTLCOLOREDIT = 0x133;当一个编辑型控件将要被绘制时发送此消息给它的父窗口;
//通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置编辑框的文本和背景颜色
//windows消息值表,可参考:http://hi.baidu.com/dooy/blog/item/0e770a24f70e3b2cd407421b.html
if (m.Msg == 0xf || m.Msg == 0x133)
{
IntPtr hDC = GetWindowDC(m.HWnd);
if (hDC.ToInt32() == 0) //如果取设备上下文失败则返回
{
return;
} //建立Graphics对像
Graphics g = Graphics.FromHdc(hDC);
//画边框的
ControlPaint.DrawBorder(g, new Rectangle(0, 0, Width, Height), Color.Red, ButtonBorderStyle.Solid);
//画坚线
ControlPaint.DrawBorder(g, new Rectangle(Width - Height, 0, Height, Height), Color.Red, ButtonBorderStyle.Solid);
//g.DrawLine(new Pen(Brushes.Blue, 2), new PointF(this.Width - this.Height, 0), new PointF(this.Width - this.Height, this.Height));
//释放DC
ReleaseDC(m.HWnd, hDC);
}
}
我懂了你是说在MouseEnter 里重绘吗? 求demo