[英]Add combo box items from other class to main form in Visual Studio C# forms?
我有一個 class 運行 SQL 查詢並通過調用我的主窗體組合框將項目添加到組合框。 但是在我運行我的程序后,我的組合框沒有被填充。
這是我的主要表單代碼。
private void frmMain_Load(object sender, EventArgs e)
{
con.getPrinID();
}
這是我的 C# class 代碼
public void getPrinID()
{
main = new frmMain();
con.Open();
sda = new SqlDataAdapter("SELECT RTRIM(LTRIM(ClassID)) AS ClassID FROM ProductClass", con);
dt = new DataTable();
sda.Fill(dt);
foreach (DataRow row in dt.Rows)
{
main.cmbPrin.Items.Add(row["ClassID"].ToString());
}
con.Close();
}
盡管這是一個糟糕的解決方案,但要完成此操作,您必須傳遞表單引用,而不是創建新的。
將this
作為參數傳遞給 function getPrinID()
。
private void frmMain_Load(object sender, EventArgs e)
{
con.getPrinID(this);
}
將frmMain
作為預期參數設置為 function。
public void getPrinID(frmMain main)
{
con.Open();
sda = new SqlDataAdapter("SELECT RTRIM(LTRIM(ClassID)) AS ClassID FROM ProductClass", con);
dt = new DataTable();
sda.Fill(dt);
foreach (DataRow row in dt.Rows)
{
main.cmbPrin.Items.Add(row["ClassID"].ToString());
}
con.Close();
}
請記住,combobox cmbPrin
訪問級別必須設置為公共。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.