我有一個運行 SQL 查詢并通過呼叫我的主表單組合框將專案添加到組合框中的類。但是在我運行我的程式后,我的組合框沒有被填充。
這是我的主要表單代碼。
private void frmMain_Load(object sender, EventArgs e)
{
con.getPrinID();
}
這是我的 C# 類代碼
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();
}
uj5u.com熱心網友回復:
盡管這是一個糟糕的解決方案,但要完成此操作,您必須傳遞表單參考,而不是創建新的參考。
this作為引數傳遞給函式getPrinID()。
private void frmMain_Load(object sender, EventArgs e)
{
con.getPrinID(this);
}
設定frmMain為函式的預期引數。
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();
}
請記住,組合框cmbPrin訪問級別必須設定為公共。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/454317.html
上一篇:用戶在C#中輸入姓名后,有沒有辦法正確區分姓名?[復制]
下一篇:如何在C#中更改禁用按鈕上的游標
