【解決方法】フォームを閉じるときに値を渡す


こんにちは
私は2つのフォームを持っています フォームA グリッドビューで別のフォームを開くテキストボックス付きのボタンがあり、いくつかの値を追加してテキストボックスにこれらの値の合計を取得しますフォームBのテキストボックスの合計をフォームAのテキストボックスに戻す必要があります?? どのようにそれを行うことができますか? 私は c# を使用します。
私はコードを試してみましたが、フォームAでこの値を受け取りました

私が試したこと:

this.ReturnValue1 = txttotal.Text;
// this.ReturnValue2 = DateTime.Now.ToString(); //例
this.DialogResult = DialogResult.OK;
this.Close();

解決策 1

はい – いつ戻すかによって、いくつかの方法があります。
ShowDialog を使用して 2 番目のフォームを表示する場合は、フォームにプロパティを追加し、フォームが閉じた後に再度読み取ります。
子を閉じずに「メイン」フォームを更新する場合は、イベントを使用します。 2 つのフォーム間で情報を転送する、パート 2: 子から親へ[^]

解決策 2

これを試して、行のコメントを参照してください

フォーム2

C#
public partial class Form2 : Form
  {
      public string SumValue { get; set; } // create a property in form 2
      private void textBox1_TextChanged(object sender, EventArgs e) // use TextChanged event from properties window
      {
          SumValue = textBox1.Text;
      }

フォーム1

C#
public partial class Form1 : Form
   {
       private void button1_Click(object sender, EventArgs e)
       {
           Form2 objForm2 = new Form2();
           objForm2.ShowDialog();
           this.textBox1.Text = objForm2.SumValue; // read the value from form2

       }

解決策 3

テキストを変更するたびに、フォームが複数回開きます。 これを回避する方法は?

コメント

タイトルとURLをコピーしました