所以我有一个无边框的形式,我需要它重新调整大小(通过点击4个边或角的任何一个)。为了澄清,我希望我的表单与Windows 7中的默认便签一样无边框。
我已经通过使用Julien Lebosquain在这篇文章中提供的代码来实现(目前仅在右下角):
Resize borderless window on bottom right corner
但是,我真的想在右下角显示拖动抓手图像。在他的帖子中,朱利安提到了关于抓手的事情:
你可以初始化一个新的 VisualStyleRenderer(VisualStyleElement.Status.Gripper.Normal)和
使用其PaintBackground()
方法。
我不知道如何在我的表格中这样做。有人能指出我正确的方向吗?
谢谢。
答案 0 :(得分:8)
所以在这里读了一下之后:http://msdn.microsoft.com/en-us/library/system.windows.forms.visualstyles.visualstyleelement.status.gripper.normal.aspx,我已经找到了解决方案。
首先覆盖表单的OnPaint()
事件。
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
DrawGripper(e);
}
执行绘图的方法。
public void DrawGripper(PaintEventArgs e) {
if (VisualStyleRenderer.IsElementDefined(
VisualStyleElement.Status.Gripper.Normal)) {
VisualStyleRenderer renderer = new VisualStyleRenderer(VisualStyleElement.Status.Gripper.Normal);
Rectangle rectangle1 = new Rectangle((Width) - 18, (Height) - 20, 20, 20);
renderer.DrawBackground(e.Graphics, rectangle1);
}
}
答案 1 :(得分:1)
在 CodeProject http://www.codeproject.com/KB/cs/borderlessform.aspx
上查看此帖子