C# Winforms 不规则的 Windows [重复]

2024-04-26

如何使用 WinForms 和 C# 创建不规则形状的窗口?


有几种不同的方法可以实现这一目标。一是用用TransparencyKey(正如尼夫勒在帖子中指出的那样)。另一种是分配一个Region http://msdn.microsoft.com/en-us/library/system.drawing.region.aspx反对Region http://msdn.microsoft.com/en-us/library/system.windows.forms.control.region.aspx表格的属性:

System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddPolygon(new[]
{
    new Point(20, 20),
    new Point(40, 10),
    new Point(180, 70),
    new Point(160, 260),
    new Point(80, 140)
});
path.AddEllipse(40, 40, 300, 300);
this.Region = new Region(path);

请注意,坐标指的是窗口,而不是客户区。另请注意图中的重叠数字GraphicsPath默认情况下,对象“反转”彼此(这可以通过设置来防止path.FillMode = FillMode.Winding).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# Winforms 不规则的 Windows [重复] 的相关文章

随机推荐