C#窗体应用程序汇出excel时,怎么将某一行的下面的边框在代码画上虚线?
1个回答
展开全部
您好,您这样:
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0xA3://拦截鼠标非客户区左键双击消息,决定窗体是否最大化显示
if (this.MaximizeBox)
{
base.WndProc(ref m);
}
return;
case 0x84:
base.WndProc(ref m);
Point lpint = new Point((int)m.LParam);
lpint.Offset(-this.Left,-this.Top);
//设置可托动的区域
Rectangle Client = new Rectangle(0, 3,this.Width,25);
if ( Client.Contains(lpint))
{
m.Result = (IntPtr)0x2;
return;
}
Rectangle topboder=new Rectangle(0,0,this.Width,3);
if(topboder.Contains(lpint))
{
m.Result=(IntPtr)0xC;//上边框HTTOP,上方的窗体缩放
return;
}
return;
}
base.WndProc(ref m);
}
//使用方法,直接将此函数复制于窗体代码中,将此窗体设为无边框
//由于时间关系,窗体缩放只写了上面的,其它方向一样,值不一样下面一一给出
//HTTOP=12 <0xC>
//HTTOPLEFT=13 <0xD>
//HTTOPRIGHT=14 <0xE>
//HTLEFT=10 <0xA>
//HTRIGHT=11 <0xB>
//HTBOTTOM=15 <0xF>
//HTBOTTOMLEFT=16 <0x10>
HTBOTTOMRIGHT=17 <0x11>
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0xA3://拦截鼠标非客户区左键双击消息,决定窗体是否最大化显示
if (this.MaximizeBox)
{
base.WndProc(ref m);
}
return;
case 0x84:
base.WndProc(ref m);
Point lpint = new Point((int)m.LParam);
lpint.Offset(-this.Left,-this.Top);
//设置可托动的区域
Rectangle Client = new Rectangle(0, 3,this.Width,25);
if ( Client.Contains(lpint))
{
m.Result = (IntPtr)0x2;
return;
}
Rectangle topboder=new Rectangle(0,0,this.Width,3);
if(topboder.Contains(lpint))
{
m.Result=(IntPtr)0xC;//上边框HTTOP,上方的窗体缩放
return;
}
return;
}
base.WndProc(ref m);
}
//使用方法,直接将此函数复制于窗体代码中,将此窗体设为无边框
//由于时间关系,窗体缩放只写了上面的,其它方向一样,值不一样下面一一给出
//HTTOP=12 <0xC>
//HTTOPLEFT=13 <0xD>
//HTTOPRIGHT=14 <0xE>
//HTLEFT=10 <0xA>
//HTRIGHT=11 <0xB>
//HTBOTTOM=15 <0xF>
//HTBOTTOMLEFT=16 <0x10>
HTBOTTOMRIGHT=17 <0x11>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询