Установите непрозрачность формы внутри прозрачной формы

У меня есть сценарий, в котором 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,

Другие вопросы по тегам