Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
winforms表单分层时的透明度问题_Winforms_User Interface - Fatal编程技术网

winforms表单分层时的透明度问题

winforms表单分层时的透明度问题,winforms,user-interface,Winforms,User Interface,(我的第一个问题!)有人能告诉我为什么在winforms中,分层透明区域会失去透明度,并在以前的透明区域显示黑色吗 这些表单显示为从模式对话框启动的模式对话框。(2)在此应用程序中,模式对话框以阴影框效果显示,因此整个屏幕被半透明黑色填充,然后显示模式形式 第一个模态形式有圆角。第一个模态形式显示得很漂亮。当从第一个模态对话框触发第二个模态对话框时(也具有完全透明的黑色层和圆角),未覆盖的原始模态对话框的clientrectangle(圆角后面的正方形)变为黑色 谁能告诉我为什么会这样,我需要想

(我的第一个问题!)有人能告诉我为什么在winforms中,分层透明区域会失去透明度,并在以前的透明区域显示黑色吗

这些表单显示为从模式对话框启动的模式对话框。(2)在此应用程序中,模式对话框以阴影框效果显示,因此整个屏幕被半透明黑色填充,然后显示模式形式

第一个模态形式有圆角。第一个模态形式显示得很漂亮。当从第一个模态对话框触发第二个模态对话框时(也具有完全透明的黑色层和圆角),未覆盖的原始模态对话框的clientrectangle(圆角后面的正方形)变为黑色

谁能告诉我为什么会这样,我需要想出一个解决办法。
谢谢

尝试在分开的线程上显示对话框,或仅显示第二个对话框


这可能很棘手,也请阅读此帖。

谢谢大家的帮助。事实证明,答案很简单。我今天在另一个场景中运行这些控件时意识到了这一点。(这有点尴尬,但至少这条线会完成)

当显示这些模式对话框时,屏幕上覆盖着50%的黑色透明矩形,并且在顶部以模式显示一个窗体

第二个模态对话框以同样的方式显示,在所属窗体上为50%透明黑色。所以,直到今天我才意识到,当50%的透明层覆盖在50%的透明层上时会发生什么


不管怎样,操作员出错了。我只需要找到一种方法,用透明的黑色覆盖圆角面板的区域,问题就解决了。

一定要关闭双缓冲。谢谢,我会试试这个。我想当我这样做的时候,我的动画会闪烁。。。。。。