我该如何在 Windows 窗体中创建一个动态的“孔”,让用户能够看到实际桌面而不是窗体?目前,我已经创建了一个半透明的窗体覆盖整个屏幕,现在想要通过这个半透明的窗体来查看背后的内容。
使用表单的Region属性。
Rectangle rect = new Rectangle(Point.Empty, this.Size);
Region region = new Region(rect);
rect.Inflate(-1 * (this.Width / 3), -1 * (this.Height / 3));
region.Exclude(rect);
this.Region = region;
那应该会在你的表单上打个洞。
如果您需要“孔”具有矩形形状,可以将表单的TransparencyKey
属性设置为某种颜色,然后创建一个背景与该颜色相同的面板。(该面板在运行时将是透明的。)