我有两个表格(表格 1 和表格 2),通过在对话框中填充数据网格视图,我成功地将数据表从表格 1 传递到表格 2。我还有一个事件处理程序来捕获选定行上的双击事件。当事件发生时,我想从表单 2 中的单击事件中设置表单 1 中的文本框。无论我尝试什么,我似乎都无法在文本框中显示文本。下面是我的代码:
    //Code begins here
    //....Function to fill data table from form 1 and pass to form 2
    private void buttonNewEntryLookUp_Click(object sender, EventArgs e)
    {
        try
        {
            cs.Open();
            da.SelectCommand = new SqlCommand("Select ctx_customername AS Customer, ctx_contactname AS Contact, ctx_custaddress1 AS Address, ctx_custcity AS City, ctx_custstate AS State, nno_custzip AS ZIP, ctx_custemail AS Email FROM Customers WHERE nno_custphone = '" + maskedTextBoxNewLogTel.Text + "'", cs);
            dt.Clear();
            da.Fill(dt);
        }
        catch
        {
            MessageBox.Show("Connection to Database could not be established, please close this application and try again. If problem continues please contact server Admin. Thank you.", "AAMP");
            //Display this message if connection could not be made
        }
        cs.Close();//close connection to db
        if (dt.Rows.Count == 0)//if there are no returned results then this must be a new entry into the database
        {
            MessageBox.Show("Phone Number Not Found in Database.", "AAMP");
        }
        else//number was found
        {
            Form2 form2 = new Form2(dt);//create object of form 2 and pass the data table.
            form2.ShowDialog();//show form 2 with data table in the grid view.
        }
    }
    public void getContactInfo(string[] contactInfo)
    {
        textBoxNewLogCustomerName.Text = contactInfo[0];
        textBoxNewLogContactName.Text = contactInfo[1];
        textBoxNewLogAddress.Text = contactInfo[2];
        textBoxNewLogCity.Text = contactInfo[3];
        textBoxNewLogState.Text = contactInfo[4];
        textBoxNewLogZIP.Text = contactInfo[5];
        textBoxNewLogEmail.Text = contactInfo[6];
    }
    //code for form 2
    public partial class Form2 : Form
{  
    /*Globals for Form 2*/
    DataTable g_dt;
    public Form2(DataTable dt)
    {
        InitializeComponent();
        dataGridViewLookUp.DataSource = dt;
        g_dt = dt;
    }
    private void dataGridViewLookUp_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        Form1 form1 = new Form1();
        string[] contactInfo = new string[7];
        contactInfo[0] = Convert.ToString(g_dt.Rows[e.RowIndex]["Customer"]);
        contactInfo[1] = Convert.ToString(g_dt.Rows[e.RowIndex]["Contact"]);
        contactInfo[2] = Convert.ToString(g_dt.Rows[e.RowIndex]["Address"]);
        contactInfo[3] = Convert.ToString(g_dt.Rows[e.RowIndex]["City"]);
        contactInfo[4] = Convert.ToString(g_dt.Rows[e.RowIndex]["State"]);
        contactInfo[5] = Convert.ToString(g_dt.Rows[e.RowIndex]["ZIP"]);
        contactInfo[6] = Convert.ToString(g_dt.Rows[e.RowIndex]["Email"]);
        form1.getContactInfo(contactInfo);//return the row number being clicked.
        this.Close();
    }
}
我成功地将数据表传递给表单 2 并捕获了正确的信息来填充字符串数组,但是当我通过调用 getContactInfo 函数将字符串数组传回时,我似乎无法使用数据设置我的文本框。有人可以请,请帮助!
谢谢。