【发布时间】:2010-10-13 11:53:09
【问题描述】:
如何在另一个线程中的窗口的列表框中添加条目。 我的问题是,我必须线程。 一个工作线程完成所有实际工作,一个线程用于我想要显示状态信息的窗口。 我试图在构造函数中将表单窗口作为参数传递,但是当我调用它时出现异常。
这是我的一些代码来说明问题:
public partial class Mainform : Form
{
private string db = String.Empty;
private string password = String.Empty;
private string sqlinifile = String.Empty;
DatabaseListener dbListener;
StatusWindow statusWindow;
public Mainform()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
db = "EWAG";
password = "secret";
sqlinifile = "C:\\Programme\\Unify\\Team Developer 5.2\\sql.ini";
textBoxDB.Text = db;
textBoxPwd.Text = password;
textBoxSqlIni.Text = sqlinifile;
statusWindow = new StatusWindow();
dbListener = new DatabaseListener(statusWindow);
}
public void threadStarter()
{
this.dbListener.startSynchronizing(5);
}
void Button1Click(object sender, EventArgs e)
{
this.db = textBoxDB.Text;
this.password = textBoxPwd.Text;
this.sqlinifile = textBoxSqlIni.Text;
if (dbListener.connectToDatabase(db,"sysadm", password, sqlinifile))
{
this.Hide();
statusWindow.Show();
Thread synchronizer = new Thread(new ThreadStart(threadStarter));
synchronizer.Start();
}
}
}
【问题讨论】:
标签: c# .net multithreading