C# WinForms中Windows Media Player元素上的透明按钮

mzsu5hc0  于 2022-12-14  发布在  C#
关注(0)|答案(3)|浏览(273)

我一直在尝试在Windows Media Player按钮上隐藏按钮,但无论我如何尝试,它总是显示为灰色

axWindowsMediaPlayer1.Location = new Point(0, 0);
axWindowsMediaPlayer1.Size = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
axWindowsMediaPlayer1.URL = "assets//vid//INTRO//INTRO_START.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer1.uiMode = "none";
axWindowsMediaPlayer1.enableContextMenu = false;

startButton.Location = new Point(524, 741);
startButton.Size = new Size(1070, 236);
startButton.FlatStyle = FlatStyle.Flat;
startButton.BackColor = Color.Transparent;
startButton.FlatAppearance.BorderSize = 0;
startButton.Click += StartButton_Click;
this.Controls.Add(startButton);
startButton.BringToFront();

当按钮具有灰色背景时,输出始终显示相同
https://imgur.com/a/r312oyC

yacmzcpb

yacmzcpb1#

设置背景图像,和图像设置都为一个空白的png,这是完整的阿尔法

hc8w905p

hc8w905p2#

我使用这个类的公共类TransparentButton找到了答案:按钮
C# Windows Form Application Transparent button

piok6c0g

piok6c0g3#

尽管这个问题有很多常见的答案,但我认为这实际上是不可能的。至少对于.NET Framework来说是这样。首先,从WinForms docs(如this answer中所概述的):
注意:Windows Form控件不支援真正的透明度。透明Windows Form控件的背景是由其父控件绘制。
因此,即使这是可能的,你只会看到父母的背景颜色(如黑色),而不是媒体播放器的内容。
但是,从同一参考文献中可以看出:
注意:即使BackColor属性设置为Transparent,Button控件也不支持透明背景色。
所以纽扣都出来了,这和我的经验很吻合。你可能会在定制绘画方面运气更好。

相关问题