我的 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();                
        }