【问题标题】:How to reduce opacity for form only not for controls in c#?如何减少表单的不透明度,而不是 C# 中的控件?
【发布时间】:2015-04-16 11:04:17
【问题描述】:

我只想减少表单的不透明度,而不是表单上的控件。我降低了表格的不透明度,但面板的不透明度也降低了。

我不想降低面板的不透明度。如何使用 c# 来做到这一点?

【问题讨论】:

  • 给我解决方案从来都不是在这里提问的好方法。先展示你的作品。告诉人们您遇到的问题以及您尝试解决的问题。
  • 请贴出您用来降低表单不透明度的代码。
  • 发布您的代码。看到这个link
  • public Form1() { InitializeComponent(); this.Opacity = .8; }
  • 我看到了那个链接,但面板也是透明的。如何单独为表单设置透明度?

标签: c#


【解决方案1】:

不要为表单设置不透明度,而是尝试将表单设置为透明背景色并使用单独的元素(在 WPF 中可以是例如网格)来填充表单并在此处设置不透明度。

【讨论】:

    【解决方案2】:

    参考这个post,可以使用HatchBrush Class

    using System.Drawing.Drawing2D;
    
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            var hb = new HatchBrush(HatchStyle.Percent50, this.TransparencyKey);
    
            e.Graphics.FillRectangle(hb,this.DisplayRectangle);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      • 2013-02-05
      • 2015-12-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      相关资源
      最近更新 更多