c#winform不透明度为70%,但面板内部不透明度为100%

本文关键字:不透明度 内部 100% c#winform | 更新日期: 2023-09-27 18:28:17

我有不透明度为70%的windows Form,当我从服务器获取数据时,它被用作覆盖层。

在我的表单中,我有一个居中的面板,其中包含"请稍候…"文本。现在这个面板也受到不透明度的影响,但我想覆盖面板的不透明度,使面板不透明度为100%。

有线索吗?

非常感谢

c#winform不透明度为70%,但面板内部不透明度为100%

我不相信你能让一个包含的面板比它的容器更不透明,所以它不会像设置不透明度那么简单。

我想到了两个想法:

  1. 让你的"请等待…"不是你的窗体的子窗体。如果它本身就是一个顶级窗体,你可以在它上设置任何你想要的不透明性,而不用担心它的父母
  2. 使顶级窗体的不透明度为100%,并将其所有子窗体更改为不透明度为70%,而不是"请稍候…"面板

在这两个表单中,第一个听起来不那么难看-这只是意味着你需要一个额外的顶级表单。不过,第二个表单并没有那么糟糕,你只需要遍历顶级表单的所有子表单。