Я пробовал код Visual C # Kicks для альфа-смешанной формы . Это работает (как только я удаляю свойство TransparencyKey
); то есть я могу использовать альфа-тестовое изображение PNG W3C и видеть другие окна внизу, но делаю все элементы управления в форме невидимыми. Предположительно, они просто не окрашены, так как OnPaint
переопределяется. Я пытался позвонить суперклассу OnPaint
:
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
UpdateFormDisplay()
MyBase.OnPaint(e)
End Sub
, но это ничего не изменило. (Вызов MyBase.OnPaint
first также не имеет значения.)
К сожалению, большинство статей об альфа-смешанных формах сосредоточены на чистых заставках без каких-либо элементов управления на них - но нам нужна панель, которая сначала показывает поля входа, а затем индикатор выполнения.
Элементы управления, кстати, не нуждаются в прозрачности; прозрачность PNG действительно имеет значение только на внешних границах. Так что подделать это, добавив еще одну форму поверх всего этого (с двумя всегда движущимися в тандеме), может быть достаточно, но я бы предпочел более плавное решение.