1

わかりました、私は2つのフォームを持っています。form8 にはデータグリッド ビューが含まれています。2 番目 (form10) のフォームには、テキスト ボックスとピクチャ ボックスが含まれています。これは、データを渡すために使用しようとしているコードですが、機能しません。

    Form8 frm8;
    public Form10(Form8 frm8): this()
    {
        this.frm8 = frm8;
    }

    private void buttonX1_Click(object sender, EventArgs e)
    {
        try
        {
            int n = frm8.dataGridView1.Rows.Add();
            frm8.dataGridView1.Rows[n].Cells[0].Value = textBox1.Text;
            frm8.dataGridView1.Rows[n].Cells[1].Value = comboBox1.Text + "|" + textBox3.Text;
            frm8.dataGridView1.Rows[n].Cells[2].Value = pictureBox1.Image;
            this.Close();
        }
        catch { }
    }
4

2 に答える 2

1

フォームを更新して結果を取得してください。

frm8.dataGridView1.Invalidate();

または Application.DoEvents() を試して、UI スレッドを更新してください。

于 2012-07-04T07:15:31.547 に答える
0

Form10 からのイベントを作成し、form8 でそのイベントを登録して、ボタンをクリックするとデータが form8 に渡されるようにすることをお勧めします。

また、例外をログに記録して何かを行う必要があります。また、コードを読みやすくするために命名規則に固執する必要があります

于 2012-07-04T07:13:45.357 に答える