因此,我有一个无边界的表单,我需要调整它的大小(通过单击4个边或角上的任意一个)。为了明确起见,我希望我的表单像Windows 7中的默认便笺一样是无边界的。

通过使用Julien Lebosquain在此文章中提供的代码,我可以使其工作(仅现在在右下角):

Resize borderless window on bottom right corner

但是,我真的很想在右下角显示拖动抓手图像。朱利安(Julien)在他的帖子中提到了有关夹持器的这一点:



我不确定如何在表单中执行此操作。有人可以指出我正确的方向吗?

谢谢你。

最佳答案

因此,在这里仔细阅读之后: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);
       }
   }

关于c# - 以无边界形式绘制抓爪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4917501/

10-11 04:45