c# - 如何从另一个 WinForm 通过 C# WinForm 查看

标签 c# winforms

我用 C# 和 winforms 制作了一个捕获应用程序。 我正在尝试从另一个 winform 看穿一个 winform。

我现在拥有的是: screenshot

具有不透明度的黑色背景是 winform 编号 1

而带有透明填充的蓝色矩形位于winform number 2

我需要一种通过winform 1查看网站页面内容的方法。

这就是我想要完成的: how is should be

我已经尝试将填充颜色设置为透明键颜色,如下所示:

这是 winform 编号 1 的 TransparencyKey 代码:

this.TransparencyKey = System.Drawing.Color.Pink;

这是在 winform 编号 2 上绘制矩形的代码:

SolidBrush TransparentBrush = new SolidBrush(Color.Transparent);
Pen MyPen = new Pen(Color.Blue, 2);

private void ThePaint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            g.FillRectangle(TransparentBrush, CurrentTopLeft.X, CurrentTopLeft.Y, RectangleWidth, RectangleHeight);
            g.DrawRectangle(MyPen, CurrentTopLeft.X, CurrentTopLeft.Y, RectangleWidth, RectangleHeight);
            RectangleDrawn = true;
        }

最佳答案

您可以尝试在您的表单 2 上放置一个面板,然后将其颜色设置为“粉红色”- 这样,它将通过表单 2 到后面的网页是透明的。唯一的缺点是,如果您对其进行任何控制,它看起来确实很奇怪。所有这些都可以通过 WinForm 设计器实现。

关于c# - 如何从另一个 WinForm 通过 C# WinForm 查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16084233/

相关文章:

c# - 此 View 列表不允许编辑项目

C#定时信号量同步两个线程和单个输出缓冲区

c# - 为什么此函数在 Powershell 中中断?

c# - Windows Phone 8.1 操作事件不触发

c# - TabIndex 无法正常工作的可能原因是什么

c# - 为什么这个字符串属性在不应该被覆盖的情况下显示为被完全覆盖?

c# - 将数据从一种表单传递到另一种表单时出现问题

c# - ListView 图标未被删除。以另一种方式显示?

c# - 在 vlc dot net (winforms) 中设置播放速度

c# - 禁用 Alt 键的正常行为