0

メイン フォームから別のフォームへのデバイスの実行に問題があります。コンボ ボックスを使用してデバイスを選択します。メイン フォームからデバイスを選択した後、別のフォームを開くボタンをクリックします。クリックすると、デバイスを選択せず​​にカメラの実行が開始されるはずです。これは、既にメイン フォームで実行したためですが、例外が発生しました。

"オブジェクト参照がオブジェクト インスタンスに設定されていません。"

これは、他のフォームの私のコードです。

private void start_Click_1(object sender, EventArgs e)
        {
            if (start.Text == "&Start")
            {
                if (DeviceExist)
                {
                    frmMain cam = new frmMain();
                    videoSource = new VideoCaptureDevice(videoDevices[cam.comboBox1.SelectedIndex].MonikerString); // The exception shows here!
                    videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
                    CloseVideoSource();
                    videoSource.DesiredFrameSize = new Size(160, 120);
                    //videoSource.DesiredFrameRate = 10;
                    videoSource.Start();
                    lblStat.Text = "Device running...";
                    start.Text = "&Stop";
                }
            }
        }

ここで何が問題だと思いますか?

4

1 に答える 1

0
frmMain cam = new frmMain();
videoSource = new VideoCaptureDevice(videoDevices[cam.comboBox1.SelectedIndex].MonikerString);

frmMainwith の新しいインスタンスを作成し、デフォルトで -1 でcam = new frmMain()アクセスします。cam.comboBox1.SelectedIndexこれによりエラーが発生します

于 2013-05-02T13:22:13.313 に答える