創建的控制,我想一些幫助了以下問題:如何獲得的值在運行時
我有一個MySQL/WinForms應用程序是abbout客戶和他們的請求。在某個時候,我想創建一個Tabcontrole。此Tabcontrole的選項卡是在運行時創建的。選項卡的數量取決於客戶端的請求數量。在選項卡上,還會在運行時創建許多控件(文本框,按鈕等)。
現在我開始陷入困境。如何訪問選項卡上的控件以將其值存儲在數據庫中?
這是我使用創建的控件的代碼:
private void GetAllrequestsForSameClient(string client)
{
MySqlConnection MijnConnectie = new MySqlConnection(Constanten.DATABASECONNSTRING);
string query = "select * from gedeeldeNotepadDB.requests WHERE requestsForeClient = '" + client + "';";
MySqlCommand mysqlcommand = new MySqlCommand(query, MijnConnectie);
MySqlDataReader myReader;
try
{
MijnConnectie.Open();
myReader = mysqlcommand.ExecuteReader();
while (myReader.Read())
{
string onderwerp = myReader.GetString("onderwerpBijstandAanvraag");
NieweTab(tabControl1, onderwerp);
}
MijnConnectie.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
在我involke的方法讀取器 「NieweTab(tabControl1,onderwerp);」 這是代碼:
public void NieweTab(TabControl tabControl1, string onderwerp)
{
TabPage tabPage1 = new System.Windows.Forms.TabPage();
Label lblvan = new System.Windows.Forms.Label();
Label lblPeriode = new System.Windows.Forms.Label();
Label lblTot = new System.Windows.Forms.Label();
MaskedTextBox txtPeriodeTot = new System.Windows.Forms.MaskedTextBox();
MaskedTextBox txtPeriodeVan = new System.Windows.Forms.MaskedTextBox();
Label lblDraagkracht = new System.Windows.Forms.Label();
TextBox textBox1 = new System.Windows.Forms.TextBox();
Button btnTabIsKlaar = new System.Windows.Forms.Button();
btnTabIsKlaar.Click += new System.EventHandler(MyButtonHandler);
tabControl1.Controls.Add(tabPage1);
tabControl1.Location = new System.Drawing.Point(12, 111);
tabControl1.Name = "tabControl1";
tabControl1.SelectedIndex = 0;
tabControl1.Size = new System.Drawing.Size(533, 209);
tabControl1.TabIndex = 38;
//followed by a lot of layout code.....
我希望我已經明確的問題是什麼? 在此先感謝您解決我的問題。
您必須將控制保持到一個列表(最好使用Tab中的所有控件創建一個用戶控件),並使用本地列表訪問它們(列表)。如果你想用硬性的方法...使用foreach this.Controls並按名稱搜索。 –
感謝您的回覆,但我不明白該怎麼辦?你能否給我多些提示? –