簡體   English   中英

將組合框項目從其他 class 添加到 Visual Studio 中的主窗體 C# forms?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM