所以假设我有两个类,一个是winform,另一个是资源中的class.cs。因此,当加载表单时,我运行代码(resources.scripts.db_connect.getinfo();
),该代码转到db_connect
类并运行方法getinfo
。然后,在数据库有机会被读取之前,winform将继续运行代码。这意味着没有更新txtbox。
我可以想到两个解决方案,
修改数据库连接方法中的文本框。 (这个 在跨类添加控件时会出现问题orr ..
暂停winform上的代码,直到数据库连接为止 关闭并且有一个触发器触发winform继续 编码
如果还有其他解决方案,请告诉我们!如果没有,我怎么去做,到目前为止我的所有努力都是徒劳的:(
(只是为了澄清,“我想要的”是申请start > windows form to load > connect to database and read > write those to text boxes / labels
)
private void client_Load(object sender, EventArgs e)
{
Resources.Scripts.db_connections.getchar1();
// stop here until event is re-fired...
textboxexample.Text = Resources.String.info.examplestring;
}
class db_connections
{
public static void getchar1()
{
try
{
// My database connection is run in here...
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
// re fire event on previous class
}
}
}
答案 0 :(得分:-3)
您可以使用Thread Concept ...使用Thread Directory并为每个进程创建单独的线程,然后按照以下步骤进行操作
1)运行第一个过程的线程
2)使用Suspend()函数暂停线程
3)运行第二个进程的线程
4)然后当你想继续暂停的过程时,只需使用Resume()函数