C# WMP:全屏显示时无法控制/处理事件
我已经在窗体中添加了Windows Media控件,并且能够完美地使用它,除非它处于全屏状态。似乎我无法通过应用程序中的关键事件操纵控件的任何方面。我目前的目标是按下“esc”键退出全屏。从那以后我可以做得更多 如果你有任何想法,请让我知道C# WMP:全屏显示时无法控制/处理事件,c#,.net,windows-media-player,wmp,C#,.net,Windows Media Player,Wmp,我已经在窗体中添加了Windows Media控件,并且能够完美地使用它,除非它处于全屏状态。似乎我无法通过应用程序中的关键事件操纵控件的任何方面。我目前的目标是按下“esc”键退出全屏。从那以后我可以做得更多 如果你有任何想法,请让我知道 谢谢,Kevin,我曾经在某个地方找到过这段代码,并且工作得很好,但不记得是从哪里得到的 public partial class WMForm : Form,IMessageFilter { public WMForm() {
谢谢,Kevin,我曾经在某个地方找到过这段代码,并且工作得很好,但不记得是从哪里得到的
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
}
谢谢,我会试试这个然后再给你回复。如果成功的话,50英镑的赏金就是你的了!好吧,我今天就开始试了。谢谢,这是一个为我的WMP项目实现键控的好方法。谢谢