私の C# ビジュアル スタジオ ソリューションには、Main と Add の 2 つのプロジェクトがあります。どちらも異なる名前空間を使用するプロジェクトです。言ってみましょう: MainNameSpace と AddNameSpace。
メイン プロジェクトには、activex Windows メディア プレーヤー コンポーネントを含むフォームがあります。ビデオを開くためのダイアログと、ビデオを停止するためのボタンがあります。これはビデオを停止するためのダミー ボタンです。
public void button2_Click(object sender, EventArgs e)
{
StopMovie();
}
public void StopMovie()
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
MessageBox.Show("Video stoped!");
}
私の Add プロジェクトには、StopMovie() 関数をリモートで呼び出したい関数があります。だから私は次のように宣言します:
void RemoteStop()
{
MainNameSpace.Main ff = new MainNameSpace.Main();
ff.StopMovie();
}
コードはエラーなしで実行されますが、MessageBox (「Video Stoped!」) を実行するだけで、ビデオは引き続き実行されます。しかし、メインの停止ボタンを押すと、ビデオが停止します。ここで何かが恋しいですか?
ありがとう。
更新:解決済み
フォームからアクセスしました(すでに実行されています):
FormName remotekill = (FormName)Application.OpenForms["FormName"];
if (remotekill != null)
{
remotekill.StopMovie();
}