Как получить доступ к родительским элементам формы winforms из дочерней формы - PullRequest
0 голосов
/ 26 февраля 2020

В Form1 у меня есть один DataGridView и несколько текстовых полей. Когда я нажимаю кнопку A в Form2, мне нужно сохранить данные из DataGridView и нескольких текстовых полей в базу данных. Как реализовать в C Sharp Windows Приложение

Кнопка Form1 Нажмите событие. Я открыл форму Form2

 public sealed partial class form1 : Form
 {
   private static form1 instance = null;
    public static form1 Instance
    {
        get
        {
            if (instance == null)
            {
                instance = new form1();
            }
            return instance;
        }
    }

  private void button1_Click(object sender, EventArgs e)
    {
        textbox2.Text=100;
        form2 CO = new form2();
        CO.Show();
    }
}

Я хочу прикрепить данные текстовых полей и содержимое Datagridview к объекту SO и вызвать функцию InsertSale. 1008 *

  private void button1_Click(object sender, EventArgs e)
  {
      clsSale SO = new clsSale();
      SO.Totamount = Convert.ToDecimal(form1.Instance.textBox2.Text);

      SO.InserSale(SO);
   }

1 Ответ

1 голос
/ 26 февраля 2020

Если Form2 хочет получить доступ к свойствам Form1.

Передать экземпляр ParentForm в конструктор ChildForm. Добавьте метод publi c в родительскую форму, чтобы обновить его свойства из дочерней формы.

public partial class Form1: Form
{
    public Form1()
    {
        InitializeComponent();
    }

    public void SetTextBoxValue(string val)
    {
        this.textBox1.Text = val;
    }

    private void CreateForm2()
    {
         var form2 = new Form2(this);
         form2.Show();
    }
}

public partial class Form2: Form
{
    private Form1 form1;

    public Form2(Form1 frm1)
    {
        InitializeComponent();

        form1= frm1;
        form1.SetTextBoxValue("Value from Form2");
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...