【问题标题】:Changing the opacity of individual form controls in .NET更改 .NET 中单个表单控件的不透明度
【发布时间】:2011-03-27 18:18:21
【问题描述】:

好的,所以我要做的是让两个图像框重叠,以便我可以对齐其中的图像(基于用户输入)。问题是我不确定是否可以调整单个控件的不透明度,所以我只能看到最顶层的控件。当然,我可以进行图像处理并将两个图像组合成一个图像(使用适当的透明度设置),但是在每个输入操作上这样做会有点贵,所以我认为在 UI 线程上这样做会便宜很多。

有什么建议吗?提前谢谢你。

【问题讨论】:

  • 我很确定您可以在 WPF 的控制级别而不是在 WinForms 中实现透明度 - 我很想听听其他人的意见。

标签: .net winforms controls opacity


【解决方案1】:

这在 WinForms 中是不可能的,透明效果不适用于重叠控件。您可以做的最好的事情是重叠表单,这样您就可以使用 Opacity 和 TransparencyKey 属性。

更实用的方法是使用 one PictureBox,您可以在其中显示合成图像。使用 ColorMatrix 类很容易创建这样的图像。您可以在我的回答中找到示例代码 this thread

【讨论】:

    【解决方案2】:

    正如@Kane 所说,wpf 可能更适合这个。 只有Form 控件支持Opacity 作为winforms 中的属性(see msdn),但是如果您将图像放在子表单中,您可能会逃脱它(我真的在这里推测,没有' t 试过这个。)并玩弄它们的不透明度。

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 2018-11-22
      • 2016-10-19
      • 2011-04-28
      • 1970-01-01
      相关资源
      最近更新 更多