System.ArgumentOutOfRangeException:InvalidArgument=“0”的值对 'SelectedIndex' 无效

System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'

如果这样我可以列出现有的视频捕获设备:

    foreach (FilterInfo Device in CaptureDevice)
    {
        comboBox1.Items.Add(Device.Name);
    }

如果设备在机器上不存在,如何避免异常:

System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'. Parameter name: SelectedIndex at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)

在添加Device.Name之前,首先检查它是否存在

if(Device!= null){
     comboBox1.Items.Add(Device.Name);
}

此外,创建一个布尔值来指示设备不存在,如果找到则将其切换为真。像 bool devExist = false;当设备不为空时,devExist = true。 然后你就会知道那里是否没有设备,如果它不存在你就不会尝试访问它 if(devExist) { //做一些事情 }