可能是透明的,但面板不是透明的,在c#中是它的内部

问题描述 投票:0回答:1

正如我在标题中提到的那样,我希望表单透明,但是其中的面板靠顶部不是。但是,当我将表单透明化时,表单上的所有内容都会变得透明。尽管我一直在搜索几个小时,但找不到有关此主题的任何信息。

c# winforms transparency
1个回答
1
投票

我之前做过的唯一方法是在表单上建立clipping regions,以使Windows根本不会绘制其中的某些部分。如果您搜索有关如何设置裁剪区域的信息,则获取表单的图形并创建一些裁剪区域,以使控件的某些部分未绘制或被其他绘制-尽管这很复杂。如果您正在寻找更简单的方法,那就是说您希望整个表单是透明的,但是不希望它的控件透明,您可以尝试:

this.BackColor = Color.Magenta; //or some other thing you'll never use
this.TransparencyKey = this.BackColor;

请注意,边框仍会绘制;如果您希望边框消失,则必须将边框设置为无]

© www.soinside.com 2019 - 2024. All rights reserved.