【问题标题】:Windows form missing borderWindows 窗体缺少边框
【发布时间】:2013-11-25 12:38:18
【问题描述】:

我有点纠结。 我目前正在开发一个 Windows 窗体应用程序,并且正在做最后的润色。

我遇到了一个小图形问题。

我有一个表单,它由两个面板和一个图片框组成。所有这些都附有图像,形成了整个表格。我将分别链接到这三张图片以及最后一张图片。以防万一这与它有关。

看图片,表格周围好像有边框,这是意料之中的。 但是查看表单的底部和左侧,边框不存在。

我检查了图片的大小与农场的大小相加,没有骰子。

非常感谢您的帮助。

我已将链接附加到下面图片的三个单独部分。

Top part of the picture

Center part of the picture

Bottom part of the picture

编辑:

More code for drawing

Even more code for drawing

【问题讨论】:

  • 这可能是由于 Windows 主题设置或表单的边框样式属性:msdn.microsoft.com/en-us/library/windows/desktop/…。另外,我建议您尝试在空白的背景上拍摄照片,以便人们看得更清楚。
  • @EmmadKareem - 用空白背景更新了图片;-) 我会检查你提到的内容并更新!
  • 显示您的绘图代码。看起来它的宽度和高度相差一两个像素。
  • @LarsTech - 使用绘图代码编辑 :-)
  • 这看起来不像是绘制代码。

标签: vb.net winforms image


【解决方案1】:

您必须在圆角矩形中添加一个像素:

path.AddArc(bounds.Left, bounds.Top, radius, radius, 180, 90)
path.AddArc(bounds.Right - radius + 1, bounds.Top, radius, radius, 270, 90)
path.AddArc(bounds.Right - radius + 1, bounds.Bottom - radius + 1, radius, radius, 0, 90)
path.AddArc(bounds.Left, bounds.Bottom - radius + 1, radius, radius, 90, 90)

话虽如此,您的解决方案不是很可靠,因为它似乎依赖于宽度为 386 像素的表单,当计算机使用不同的字体大小或 DPI 设置时,情况可能并非总是如此。

WinForms 不太支持平滑渐变的圆角。

【讨论】:

  • 您的回答为我解决了问题。当它出现问题时,我将不得不处理它在不同字体大小或 DPI 设置的屏幕上的外观!非常感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
  • 2022-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多