从另一个表单调用一个表单上的方法,如果单击 Form2 上的按钮,则填充 Form1 上的组合框

2023-12-26

我想在单击 Form2 上的“确定”按钮时填充 Form1 上的组合框。

首先,单击Form1 上的“加载Form2”按钮以显示Form2。 然后,出现 Form2,如果按下“确定”(Form2 上的按钮),则必须使用 SQL SERVER 数据库表中的值填充 Form1 组合框。

public partial class FORM1 : Form
{
     public void LoadValue()
        {
            string query = "SELECT FullName FROM Studs ";

            SqlCommand cmd = new SqlCommand(query, FORM1conn);

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    FORM1COMBOBOX.Items.Add(reader.GetString(0));
                }
        }
}

public partial class FORM2 : Form
{
        private void FORM2_OK_Button_Click(object sender, EventArgs e)
        {
               //HERE I WANT TO CALL THE  LOADVALUE() METHOD OF FORM1  ????????
         }
}

EDIT:在 form2.cs 中:

public partial class FORM2 : Form
{

    public  FORM2(SqlConnection connfromFORM3)
    {
        Form2Conn = connfromFORM3;
        InitializeComponent();
    }

    private Form1 form1;
    public SELECTGROUPHEADDIALOG(FORM1 form1) : this()
    {
        this.form1 = form1;
    }

        private void FORM2_OK_Button_Click(object sender, EventArgs e)
        {
               //HERE I WANT TO CALL THE  LOADVALUE() METHOD OF FORM1  ????????
         }
}

Updated

您可以尝试在 Form2 的构造函数中传递 Form1 实例

Example:

 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 form2 = new Form2(this);
        form2.Show();
    }

    internal void TestMethod()
    {
        throw new NotImplementedException();
    }
}

public partial class Form2 : Form
{
    private Form1 form1;

    public Form2()
    {
        InitializeComponent();
    }

    public Form2(Form1 form1)
        : this()
    {
        // TODO: Complete member initialization
        this.form1 = form1;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        form1.TestMethod();
    }
}

Updated

尝试这个:

public  FORM2(SqlConnection connfromFORM3, FORM1 form1)
{
    this.form1 = form1;
    Form2Conn = connfromFORM3;
    InitializeComponent();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从另一个表单调用一个表单上的方法,如果单击 Form2 上的按钮,则填充 Form1 上的组合框 的相关文章

随机推荐