C# 两窗体直接传参数

来源:互联网 发布:松下触摸屏编程说明书 编辑:程序博客网 时间:2024/04/28 14:44

实现两个窗体直接传参数的方法很多,感觉挺难,其实真正的做了,也没有那么难。

传参数方法一:把控件声明成为public的。

方法二:借助一个中间类来实现。

方法三:用public static声明要传送的变量

方法四:用构造函数传。

一般这四个方法就够了。

例子

如我做过的一个进销存软件,进货的时候要从货物信息中取得货物编号(用户不能输入编号)。而货物信息是另一个窗体,怎么实现点击获得 货物编号按钮(在进货窗体中) 弹出货 物信息窗体,然后从 货物信息窗体 选择要进的货物后返回给 进货窗体 呢?

假设进货窗体是 purchase.cs

货物窗体是 material.cs

在purchase.cs窗体的 获得 货物编号按钮 单击事件中写入如下代码:

            material m = new material();
            m.ShowDialog();
            if (m.DialogResult == DialogResult.OK)
            {
                txtinmid.Text = m.getmid;

                 //getmid是material的一个构造函数,txtinmid是purchase.cs中显示 货物编号 的文本框

                m.Close();
            }
            GetbaseMaterialinfo();//自己的一个方法

 

然后在material.cs窗体中写入如下代码。

        public material()//默认的构造函数
        {
            InitializeComponent();
        }
        public string getmid//就是这个了。
        {
            get
            {
                return dgvmaterial.Rows[dgvmaterial.CurrentRow.Index].Cells[1].Value.ToString();
            }
        }

这是激活方法(我的是双击datagridview行)

private void datagridview_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            this.DialogResult = DialogResult.OK;
        }

这样purchase.cs窗体的显示货物编号按钮就可以获得你选定的商品了。简单吧。

原创粉丝点击