我有一个代码并执行类似这样的自动点击方法:
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);
然后我在代码中得到了错误。有什么想法吗?请指教。
答案 0 :(得分:1)
在初始化对象cmdCommand_Click
之前,您正在调用dbConnect
事件。
首先应首先初始化对象dbConnect
,然后调用/调用cmdCommand_Click
事件
替换它:
cmdCommand_Click(null, null);
dbConnect = new DBConnect();
有了这个:
dbConnect = new DBConnect();
cmdCommand_Click(null, null);
答案 1 :(得分:1)
当cmdCommand_Click(null, null);
执行时,dbConnect仍为NULL。请试试这个:
public cron_printer()
{
InitializeComponent();
dbConnect = new DBConnect();
cmdCommand_Click(null, null);
}
答案 2 :(得分:1)
在事件中添加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
}
}