У меня есть форма с установленной фоновой картинкой. Поверх у меня лежит TextBox1. Мне нужно сделать так, чтобы фон TextBox исчез, т.е. просвечивал BackgroundImage формы.
Пробовал делать так:
SetStyle(System.Windows.Forms.ControlStyles.SupportsTransparentBackColor | System.Windows.Forms.ControlStyles.UserPaint | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true);
textbox1.BackColor = Color.Transparent;
Но генерирует исключение типа:
Control does not support transparent background colors.
Хотелось добиться такого результата:
private ZBobb.AlphaBlendTextBox alphaBlendTextBox1;
private void Form1_Load(object sender, System.EventArgs e)
{
alphaBlendTextBox1 = new ZBobb.AlphaBlendTextBox();
alphaBlendTextBox1.Location = new System.Drawing.Point(32, 16);
this.alphaBlendTextBox1.Text = "Hello";
alphaBlendTextBox1.BackAlpha = 0; // Totally transparent
this.Controls.Add(this.alphaBlendTextBox1);
}
Взято отсюда
Я бы не рекомендовал вам проводить такие махинации, так как для этого всё таки существует WPF. А на WinForms стоит писать, когда не так важна графическая часть приложения (имхо)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей