Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取错误“;对象引用未设置为对象的实例;动态创建填充组合框_C#_Database_Visual Studio_Combobox - Fatal编程技术网

C# 获取错误“;对象引用未设置为对象的实例;动态创建填充组合框

C# 获取错误“;对象引用未设置为对象的实例;动态创建填充组合框,c#,database,visual-studio,combobox,C#,Database,Visual Studio,Combobox,您好,我正在尝试使用数据库中的数据填充动态创建的组合框,但它显示了一个异常(对象引用未设置为对象的实例)。我看腻了。 这里少了什么? 谢谢你的帮助!(这里是新手) 您的问题有点模糊,但我猜您正在迭代panelMain.controls中的所有控件,并试图将它们转换为ComboBox。任何不是ComboBox的,我记不起来的,都是空的。您不检查null,但仍然进行DB调用,然后在尝试设置项时失败。我建议如下: foreach (Control control in panelMain.Contro

您好,我正在尝试使用数据库中的数据填充动态创建的组合框,但它显示了一个异常(对象引用未设置为对象的实例)。我看腻了。 这里少了什么? 谢谢你的帮助!(这里是新手)


您的问题有点模糊,但我猜您正在迭代panelMain.controls中的所有控件,并试图将它们转换为ComboBox。任何不是ComboBox的,我记不起来的,都是空的。您不检查null,但仍然进行DB调用,然后在尝试设置项时失败。我建议如下:

foreach (Control control in panelMain.Controls)
        {
            ComboBox comboBox = control as ComboBox;
            if(comboBox != null){
                try
                {


您的问题有点模糊,但我猜您正在迭代panelMain.controls中的所有控件,并试图将它们转换为ComboBox。任何不是ComboBox的,我记不起来的,都是空的。您不检查null,但仍然进行DB调用,然后在尝试设置项时失败。我建议如下:

foreach (Control control in panelMain.Controls)
        {
            ComboBox comboBox = control as ComboBox;
            if(comboBox != null){
                try
                {


可能重复为什么要循环组合框?创建组合框时给它一个名称,然后可以从容器的集合属性引用它。示例:
var cb=panelMain.Controls[comboName]作为ComboBox使用controls集合上的ContainesKey函数验证名称是否存在。为什么循环组合框可能重复?创建组合框时给它一个名称,然后可以从容器的集合属性引用它。示例:
var cb=panelMain.Controls[comboName]作为ComboBox使用controls集合上的ContainesKey函数验证名称是否存在。非常感谢OrbitMan!我尝试了两种方法,第一种是解决方案。关于第二个…不幸的是它不起作用(因为panelMain.Controls.Where()在我的VS中不存在)。又是坦克XD@GabrielVieira那条线错了。它应该是这样读的:
foreach(panelMain.Controls.OfType()中的组合框cb)
这将捕获所有组合框,而@LarsTech的解决方案将解决这个问题。抱歉,它只是在注释框中键入的,这更能让人理解这个想法
var bob=newlist{“hello”,1,2,new DateTime()};foreach(在bob.Where(c=>c是字符串)中的varfred){/…}
非常感谢OrbitMan!我尝试了两种方法,第一种是解决方案。关于第二个…不幸的是它不起作用(因为panelMain.Controls.Where()在我的VS中不存在)。又是坦克XD@GabrielVieira那条线错了。它应该是这样读的:
foreach(panelMain.Controls.OfType()中的组合框cb)
这将捕获所有组合框,而@LarsTech的解决方案将解决这个问题。抱歉,它只是在注释框中键入的,这更能让人理解这个想法
var bob=newlist{“hello”,1,2,new DateTime()};foreach(在bob.Where(c=>c是字符串)中的varfred){/…}
foreach (Control control in panelMain.Controls.Where(c => c is ComboBox))