полупрозрачная форма, но непрозрачные элементы управления в C#
Как сделать полупрозрачную форму в приложении c# windows form
Я пробовал TransparentKey
Что делает его полностью прозрачным. и попробовал!--1--> но это влияет на всю форму (с элементами управления).
Я хочу, чтобы только часть формы была полупрозрачной,но не контролировала.
3 ответов
вы можете использовать люк кисти С определенным процентом, например:
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);
}
Я нашел щетку Люка гротескной,
вместо:
protected override void OnPaintBackground(PaintEventArgs e) { var hb = new HatchBrush(HatchStyle.Percent80, this.TransparencyKey); e.Graphics.FillRectangle(hb, this.DisplayRectangle); }
Я:
protected override void OnPaintBackground(PaintEventArgs e) { var sb = new SolidBrush(Color.FromArgb(100, 100, 100, 100)); e.Graphics.FillRectangle(sb, this.DisplayRectangle); }
существует решение, которое добавляет полупрозрачность к управления (не форма):
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Apply opacity (0 to 255)
panel1.BackColor = Color.FromArgb(25, panel1.BackColor);
}
в visual Studio: (Альфа активируется только во время выполнения)
выполняется в Windows 7:
выполняется на старом сервере WIndows 2003 :