-4

私のプロジェクトの1つには2つのフォームがあります。form1にはdataGridViewがあり、form2には4つのTextBoxがあります。Form1では、CellMouseClickイベントを使用してdatagridviewから変数の値を取得し、それをForm2のTextBoxに渡します。

私はこれを試しました。

form1#エラーが発生します

public form(int id)
{
    int x;
    x = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}

そして、iamがform2で何をすることを想定しているのか

4

3 に答える 3

7

コンストラクターを使用すると、指定された構築の前提条件で型を構築できます。

それが整数を意味する場合は、次のようになります。

public MyForm(int id) {
  SomeIdProperty = id;
}

の代わりにvar form = new MyForm();、次のようにします。

var form = new MyForm(idOfTheRelevantThing);

それからそれを示します。

于 2013-02-26T22:24:49.693 に答える
4

フォーム1

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        var frm2 = new Form2(dataGridView1.Rows[0].Cells[0].Value.ToString());
        frm2.Show();
    }
}

フォーム2

public partial class Form2 : Form
{
    public Form2(string s)
    {
        InitializeComponent();
        textBox1.Text = s;
    }
}
于 2013-02-26T22:46:51.647 に答える
2

Form2fromを表示している場合はForm1、コンストラクターを使用して値を渡すことができます。このようなもの:

class Form2 {
    public string Value { get; set; }
    public Form2(string value) {
        Value = value;
    }

    public void Form2_Load() {
        textBox1.Text = Value;
    }
}

そしてこれを行います(内部Form1.cs):

Form2 f = new Form2("the value here");
f.ShowDialog(); //or f.Show();
于 2013-02-26T22:26:55.687 に答える