C#----属性应用之窗体间的数值传递

    初学c#,误以为属性和变量没什么区别,后来才渐渐体会到属性在windows窗体程序中的重要性,可以说它是窗体的接口,窗体之间的联系就是通过窗体来建立的。下面我就一例子来说明窗体间是如何进行通信的(传递数据)。

图1

 

 

 

 

 

 

1FrmSearch

1是我做通讯录时设计的一个界面,不难看出这个界面是用来实现查询功能的一部分.当选中Listbox中的某一项单击确定后会在图2所示的窗口中显示查询结果。

 

 

 

2

 

 

 

2(FrmSearchResult)

 

 

显然关于查询操作的代码应在图2(FrmSearchResult)的后台中实现,这就需要将图1FrmSearch)中选定的项传递到图2中去,也就是需要实现两个窗体间的传值。实现代码如下

//在图1FrmSearch)的后台写入代码

//selectedname用来保存选择的数据

string selectedname;

 

//双击图1FrmSearch)的“确定”按钮后添加事件处理程序
        private void btOk_Click(object sender, EventArgs e)
        {
           
            //
存储被选定的项(也就是要传递的数据),为启动另一个线程做准备,
            selectedname=(string)listBox.SelectedItem;

          

            //因为要启动另一个窗体所以启动一个新线程
            ThreadStart thread = new ThreadStart(runFrmSearchResult);
            Thread t = new Thread(thread);
            t.Start();

            //关闭当前窗体
            this.Close();
        }

 

//自定义函数,实现实例化窗体功能
        private void runFrmSearchResult()
        {
            FrmSearchResult fsr = new FrmSearchResult();

//哪来的name,带着疑问往下看,就是在这儿将窗体FrmSearch中的数据传递给了FrmSearchResult
            fsr.name = selectedname;
            fsr.ShowDialog();
        }

//

//FrmSearchResult  窗体后台写入代码:

//

public partial class FrmSearchResult : Form

{

./省略部分

 //

//定义属性name,也就是大家在上面看到的那个name

       private string _name;      

        public string name

        {

            get

            {

                return _name;

            }

            set

            {

                _name = value;

            }

        }

//

//下面你就可以根据name来写实现查询部分代码了,因为已经实现了从FrmSearchFrmSearchResult的数据传递。

//省略部分/

}

 

 

不知道大家明白了没有?有什么问题可以探讨一下哦!

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值