如何从子窗体访问winforms父窗体控件 [英] How To access winforms parent Form controls from a child Form

查看:67
本文介绍了如何从子窗体访问winforms父窗体控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Form1中,我有一个DataGridView和多个文本框.当我单击Form2中的A按钮时,我需要将数据从DataGridView和多个文本框保存到数据库.如何在C尖锐的Windows应用程序中实现

In Form1 I have one DataGridView and multiple textboxes. When I click A button in Form2 I need to save the data from DataGridView and multiple textboxes to Database. How to Implement in C sharp Windows Application

Form1按钮单击事件.我打开了Form2

Form1 Button Click event. I opened 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和Call InsertSale函数.textboxes和datagridview处于form1

I want to attach textboxes data and Datagridview content to object SO and Call InsertSale function .textboxes and datagridview are in form1

这是表格2中的按钮单击事件

This is Button Click Event in Form 2

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

      SO.InserSale(SO);
   }

推荐答案

如果 Form2 要访问 Form1 属性.

将ParentForm实例传递给ChildForm构造函数.在父表单中添加一个公共方法,以从子表单中更新其属性.

Pass ParentForm instance to the ChildForm constructor. Add a public method in the parent form to update its properties from child form.

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");
    }   
}

这篇关于如何从子窗体访问winforms父窗体控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆