C# 两窗体直接传参数

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

传参数方法一:把控件声明成为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窗体的显示货物编号按钮就可以获得你选定的商品了。简单吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值