【问题标题】:How to change opacity of Form window without changing opacity of text如何在不更改文本不透明度的情况下更改表单窗口的不透明度
【发布时间】:2016-10-19 23:00:45
【问题描述】:

我正在尝试重新创建一个 Kali-Linux DOS 窗口,只是为了好玩,并在其中包含我自己的自定义命令。

我正在制作一个 70% 可见的表单。 问题是,我尝试将表单的不透明度设置为 70%,但它却让它全部 70% 可见。 放入图片框并更改其不透明度也无济于事,因为它只显示应用程序而不是我的计算机背景。

我知道我可以为此做控制台应用程序,但是没有外观定制。

【问题讨论】:

  • 如果您希望表单 100% 透明,您可以做的一件事是使用 TransparencyKey 而不是 Opacity。如果这不符合您的需求,您可能需要查看this answer
  • 它有点工作,但现在它是不可见的。是否可以选择透明度百分比?
  • 如果你设置TransparencyKey来匹配Form BackColor,它将是100%透明的。没有办法控制百分比。否则,您将不得不使用我提到的答案中描述的其他方式:)

标签: c# transparency opacity


【解决方案1】:

这在 WinForms 中根本不可能。部分透明的表单不能有不透明的控件。有些人可能会推荐使用两种形式,一种是完全透明的,另一种是部分透明的不透明控件,但我不会深入讨论。

表单的不透明度会改变表单中的所有控件

遵循 Genius Brain 替代示例。这是实现部分透明的唯一方法,依此类推。

【讨论】:

  • 我的表格 1 将不可见,然后我制作一个不透明度为 70% 的表格 2,紧随其后并粘在表格 1 上。
  • 完全正确,但就编码所有这些而言,这是我不经常做的事情。我确实有一些透明且无边框的表单,并且我对所有按钮进行了编程以最大化和最小化以及退出。然后我会形成事件。我恰好是一名 System.Speech 专家,但没有人有任何语音问题。所以我想我会回答这个。另请注意,您的控件(例如按钮)会自动突出显示,这是我不喜欢的一件事,因此我使用带有单击事件的标签来最大化、最小化和退出,而不是使用按钮。
  • 也许我不应该做我想做的事。但我想要它,我会搜索它,直到找到我要找的东西。
猜你喜欢
  • 2013-03-04
  • 2021-09-16
  • 1970-01-01
  • 2011-04-28
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
相关资源
最近更新 更多