我的 C# Visual Studio 解决方案中有两个项目:Main 和 Add。两个项目都使用不同的命名空间。假设:MainNameSpace 和 AddNameSpace。
在主项目中,我有一个表单,上面有一个 activex windows 媒体播放器组件。我有一个打开的对话框来打开视频,还有一个按钮来停止视频。这是停止视频的虚拟按钮。
public void button2_Click(object sender, EventArgs e)
{
StopMovie();
}
public void StopMovie()
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
MessageBox.Show("Video stoped!");
}
在我的添加项目中,我有想要远程调用 StopMovie() 函数的函数。所以我声明这样的事情:
void RemoteStop()
{
MainNameSpace.Main ff = new MainNameSpace.Main();
ff.StopMovie();
}
代码运行没有错误,但只执行 MessageBox(“视频停止!”),我的视频仍在继续运行。但是当我按下主要的停止按钮时,它会停止视频。我在这里想念什么吗?
谢谢。
更新:已解决
我通过表单访问(已经运行):
FormName remotekill = (FormName)Application.OpenForms["FormName"];
if (remotekill != null)
{
remotekill.StopMovie();
}