所以我们假设我有两个类,一个是winform,另一个是资源中的class.cs。所以当表格被加载时,我运行代码(resources.scripts.db_connect.getinfo();
),它转到db_connect
类并运行方法getinfo
。然后,在数据库有机会读取之前,winform将继续运行代码。这意味着txtboxes不会被更新。如何在另一段代码完成之前暂停代码?
我能想到的两种解决方案,
修改数据库连接方法中的文本框中。 (这 带来了一个问题跨类附加控制)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
}
}
}
'所以当加载形式我运行code'在哪里你运行代码?哪个事件? – I4V
阅读'BackgroundWorker's和/或'异步'/'等待' –
你的db_connect类是静态的吗?另外你目前如何填充你的文本框。 –