VB.net:如何在模式窗体上隐藏Windows Media Player可视化窗格,使控制栏可见



使用VS2017 VB Forms,我制作了一个使用AxWindowsMediaPlayer播放.mp3文件的小程序,但我似乎无法在运行时可靠地修复控件的大小。

在设计中,我设置了控件的Size和MaximumSize属性("Size=120,45"(,使其紧贴在PictureBox上,在运行时;行为不端";当第二次显示模态形式时,玩家通过设置控件的Height(和Maximum Height(属性来扩展大小,以显示我试图隐藏的可视化窗格,从而只有玩家的控制栏部分可见。

我已经用下面的一些代码复制了这种行为。Form1有一个按钮,以模式显示Form2。Form2有一个Picturebox和AxWindowsMediaPlayer。点击图片框;test.mp3";来自Application.StartupPath的文件。一切都很好。。。第一次播放音频时,播放器表现良好。。。没有可见的可视化!

关闭Form2;加载形式2";按钮,然后再次单击Form2上的PictureBox会导致不希望的行为。。。播放器展开并在可视化窗格中显示波形模式。以非模式显示Form2(通过使用Show代替ShowDialog(不会表现出这种行为,可能是因为控件是使用设计中的初始Size集显示的。然而,我想以模式显示Form2。

如果能就如何克服这一意外的尺寸变化提出建议,我将不胜感激。我研究了玩家的大量文档,但我无法隐藏可视化窗格。非常感谢。

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.ShowDialog()
End Sub
End Class

Public Class Form2
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Dim AudioFile As String
AudioFile = (Application.StartupPath & "test.mp3")
AxWindowsMediaPlayer1.Visible = True
AxWindowsMediaPlayer1.URL = AudioFile
End Sub
End Class ``` 

好吧,这是一个变通方法,真的:我使用"显示(("代替";ShowDialog((";,并将数据传递给Form2(当它初始化时(以保持几个图片框的状态。

工作完成了,但我对媒体播放器很警惕。

最新更新