所以我們假設我有兩個類,一個是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類是靜態的嗎?另外你目前如何填充你的文本框。 –