Установите непрозрачность формы внутри прозрачной формы
У меня есть сценарий, в котором BaseForm должен быть прозрачным и иметь панель внутри него 1/4 высоты формы и должна быть непрозрачной (которая имеет несколько кнопок и текстовое поле). Поэтому для BaseFrom я установил прозрачный ключ на BackColor, а для панели - другой цвет.
Для остальной части области он должен быть прозрачным, но захватывать события в одном и том же месте, поэтому я использовал другую форму (EventForm), чтобы сделать непрозрачность равной 1%. Но при добавлении EventForm как дочернего к BaseForm значение непрозрачности перезаписывается родительской формой (BaseForm), которая непрозрачна, и я вижу серую область. Я не могу изменить непрозрачность базовой формы, так как она также влияет на верхнюю панель.
Какие-либо предложения?
1 ответ
Это очень случайно, что я нашел там много BackColors
настройка, которая сделает вашу форму прозрачной и по-прежнему кликабельной. Один из тех цветов Red
так что вы можете попробовать это:
public Form1(){
InitializeComponent();
BackColor = Color.Red;
TransparencyKey = BackColor;
}
Если у вас есть другие элементы управления пользовательского интерфейса, имеющие красный цвет, вы можете попробовать другие цвета (как я уже говорил, многие цвета работают одинаково). Дело в том, что я не знаю, почему это так, просто попробуйте и это работает. Невероятно, потому что, насколько я знаю, Opacity = 0
средства click through
,