执行自动单击方法时,对象引用未设置为对象错误的实例

本文关键字:设置 对象 错误 实例 对象引用 单击 方法 执行 | 更新日期: 2023-09-27 17:59:13

我有一个代码并执行自动点击方法,类似于:

public partial class cron_printer : Form
{
    public cron_printer()
    {
        InitializeComponent();
        cmdCommand_Click(null, null);
        dbConnect = new DBConnect();
    }
    private void cmdCommand_Click(object sender, EventArgs e)
    {
        List<string>[] list;
        //get list from database
        list = dbConnect.Connect(); //ERROR:Object reference not set to an instance of an object.
        for (int i = 0; i < list[0].Count; i++)
        {
            string ipAdd = list[0][i]; 
            CmdConnect(ipAdd, txtPort.Text); //call function connect
        }
    }
}

如果我创建了一个名为cmdCommand的按钮并执行正常单击,则代码工作正常。但当我通过添加以下行来执行自动点击方法时:

cmdCommand_Click(null, null);

然后我得到代码中注释的错误。知道吗?请告知。

执行自动单击方法时,对象引用未设置为对象错误的实例

当执行cmdCommand_Click(null, null);时,dbConnect仍然为NULL。请试试这个:

public cron_printer()
{
    InitializeComponent();        
    dbConnect = new DBConnect();
    cmdCommand_Click(null, null);
}

在初始化对象dbConnect之前调用cmdCommand_Click事件。

您应该首先初始化对象dbConnect,然后调用/调用cmdCommand_Click事件

替换此:

cmdCommand_Click(null, null);
dbConnect = new DBConnect();

有了这个:

dbConnect = new DBConnect();
cmdCommand_Click(null, null);

在事件中添加DbConnect() istantiate行:

private void cmdCommand_Click(object sender, EventArgs e)
{
    dbConnect = new DBConnect();
    List<string>[] list;
    //get list from database
    list = dbConnect.Connect(); //ERROR:Object reference not set to an instance of an object.
    for (int i = 0; i < list[0].Count; i++)
    {
        string ipAdd = list[0][i]; 
        CmdConnect(ipAdd, txtPort.Text); //call function connect
    }
}