1

我已经在我的表单中添加了一个 Windows Media 控件,并且能够完美地使用它,除非它处于全屏状态。似乎我无法通过应用程序中的关键事件来操作控件的任何方面。我目前的目标是处理“esc”键以退出全屏。从那以后我可以做更多的事情。

如果您有任何想法,请告诉我!

谢谢,凯文

4

1 回答 1

2

我曾经在某处找到此代码并且工作得很好,但不记得我从哪里得到它。

    public partial class WMForm : Form,IMessageFilter

{

    public WMForm()

    {

        InitializeComponent();

    }



    private void WMForm_Load(object sender, EventArgs e)

    {

        this.MyWindowsMediaPlayer.URL = @"YourFilePath/Url";

        Application.AddMessageFilter(this);

    }



    private void WMForm_FormClosing(object sender, FormClosingEventArgs e)

    {

        Application.RemoveMessageFilter(this);

    }



    #region IMessageFilter

    private const UInt32 WM_KEYDOWN = 0x0100;

    public bool PreFilterMessage(ref Message m)

    {

        if (m.Msg == WM_KEYDOWN)

        {

            Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode;

            if (keyCode == Keys.Escape)

            {

                this.MyWindowsMediaPlayer.fullScreen = false;

            }

            return true;

        }

        return false;

    }

    #endregion

}
于 2012-06-02T00:21:52.513 回答