如何在c#中使用Aforge直接显示从主形式到另一形式执行设备摄像机
本文关键字:摄像机 执行 显示 Aforge | 更新日期: 2023-09-27 18:11:53
我在执行设备从主要形式到另一个形式的问题,我使用组合框来选择设备,在我从主要形式选择设备后,我点击按钮,将打开另一个形式,这另一个形式有一个按钮启动,当我点击它,它应该开始运行相机没有选择设备了,因为我已经在主要形式,但我得到了一个异常说。
"对象引用未设置为对象的实例。"
这是另一种形式的代码。
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";
}
}
}
你认为这里的问题是什么?
frmMain cam = new frmMain();
videoSource = new VideoCaptureDevice(videoDevices[cam.comboBox1.SelectedIndex].MonikerString);
您使用cam = new frmMain()
创建frmMain
的新实例,并使用默认为-1的cam.comboBox1.SelectedIndex
访问它。这会导致错误