c#窗口间传值

c#窗口间传值

这个在网上看到了好多,一搜c#子窗口,父窗口,几乎都是传值的,今天我就简单介绍一下利用构造方法进行传值。

父窗口:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Sequence_C_sharp
{
    public partial class Form1 : Form
    {
        private void Log_Click(object sender, EventArgs e)
        {
	    int i = 0;
	    string type = "hhh";
            Log_Form log = new Log_Form(i,type);
	    int j = log.get();	
            log.ShowDialog();                             
        }
    }
}

父窗口,为Form1。我们可以看出来,子窗口是Log_Form。在创建Log_Form对象时,将参数i,type当做参数传入。利用Log中的get方法得到log中的值。就是这么简单。下面看一下子窗口的代码。

子窗口:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Sequence_C_sharp
{
    public partial class Log_Form : Form
    {
        private string log_info;
	private int k = 0;
	
	public int get()
	{
	    return k;
	}

        public Log_Form()		//空参构造,默认就有
        {
            InitializeComponent();  
        }

        public Log_Form(int i, string Log_info)		//有参构造,自己编写,用来传值
        {
            InitializeComponent();
            int Param = i;
            log_info = Log_info;
        }
    }
}
从上面的代码可以看出,父窗口向子窗口传值利用了构造函数的重载。而由子窗口向父窗口传值则利用了子窗口中的get方法,当然,这个get方法名称可以变,不是硬性规定,你要是乐意写成set也是可以的,只是代码的易读性不好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值