C# Win 7操作系统中透明子窗体的可见性问题

C# Win 7操作系统中透明子窗体的可见性问题,c#,winforms,C#,Winforms,我想有一个透明的形式作为孩子的另一种形式 为了创建一个透明的表单(比如这个表单是:NewChild),我将“TransparencyKey”属性和“BackColor”属性设置为相同的颜色(比如红色) 注意:我的父窗体背景色没有红色 现在,在父窗体中单击一些按钮,我有如下代码: NewChild child = new NewChild(); int iErro = SetParent(child.Handle, (int)this.Handle); // Set parent to this

我想有一个透明的形式作为孩子的另一种形式

为了创建一个透明的表单(比如这个表单是:NewChild),我将“TransparencyKey”属性和“BackColor”属性设置为相同的颜色(比如红色)

注意:我的父窗体背景色没有红色

现在,在父窗体中单击一些按钮,我有如下代码:

NewChild child = new NewChild();
int iErro = SetParent(child.Handle, (int)this.Handle); // Set parent to this child form
child.Location = new Point(300, 300);
child.Size = new Size(300, 130);
child.Show();
我可以在Windows 8.0、8.1、10.0中看到父窗体中的子透明窗体

但在WINDOWS 7.0中无法看到子窗体。


请让我知道这是否是Win 7.0操作系统的问题或我缺少的任何东西

问题?嗯,很有趣-你正在用
SetParent
调用对基础设施进行黑客攻击,并且“意外地”遇到了问题。黑客攻击?这是MSDN关于SetParent的说法:“应用程序可以使用SetParent函数来设置弹出窗口、重叠窗口或子窗口的父窗口。”我指的是
表单
类-它不应该(或者说不应该)以这种方式使用。问题?嗯,很有趣-你正在用
SetParent
调用对基础设施进行黑客攻击,并且“意外地”遇到了问题。黑客攻击?这是MSDN关于SetParent的说法:“应用程序可以使用SetParent函数来设置弹出窗口、重叠窗口或子窗口的父窗口。”我指的是
表单
类-它不应该(或者说不应该)以这种方式使用。