1

こんにちは、私は winform に取り組んでおり、datadrid ビューを持っています。コンテキスト メニュー ストリップがあります。その編集に書かれています。datadrid をクリックすると、右クリックするとコンテキスト メニューが編集で開きます。クリックすると、値が新しいフォームに渡されます。転送用のコードを書きましたが、渡されません。ここで何が問題なのかわかりません。

       private void editToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Form6 f = new Form6();
     f.label1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();

    }

コードは正しいですか?

4

1 に答える 1

3

Form6 がまだ開いていない場合は、ラベルにテキストを割り当てた後に表示する必要があります。

private void editToolStripMenuItem_Click(object sender, EventArgs e)
{
    Form6 f = new Form6();
    f.label1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    f.Show();

}

Form6 が既に開いている場合は、Form6 のインスタンスを使用する必要があり、新しいインスタンスを作成する必要はありません。Application.OpenForms を使用て、既に開いているフォームを取得できます。

Form6 f = (Form6)Application.OpenForms["form6"];
f.label1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
于 2013-01-02T07:06:35.970 に答える