首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> .NET Framework >> 正文

.net中Windows窗体间的数据交互(一)

添加处理函数代码如下:

private void buttonAdd_Click(object sender, System.EventArgs e)

{

     if(this.textBoxAdd.Text.Trim().Length>0)

     {

         this.listData2.Add(this.textBoxAdd.Text.Trim());

         this.listBoxFrm2.Items.Add(this.textBoxAdd.Text.Trim());

     }

     else

         MessageBox.Show(请输入添加的内容!);

}

删除处理代码如下:

private void buttonDel_Click(object sender, System.EventArgs e)

{

     int index = this.listBoxFrm2.SelectedIndex;

     if(index!=-1)

     {

         this.listData2.RemoveAt(index);

         this.listBoxFrm2.Items.RemoveAt(index);

     }

     else

         MessageBox.Show(请选择删除项或者没有可删除的项!);

}

退出Form2子窗体:

private void buttonOK_Click(object sender, System.EventArgs e)

{

     this.Close();

}

编译运行程序,在子窗体中对数据进行修改,关闭后,主窗体就会显示更新后的数据。

这里有一点要提醒一下,比较两个例子,我们都传的是引用类型,一个是String,另一个是ArrayList,为什么string类型不能修改主窗体的数据呢?其实在.Net中对string类型的修改并不是修改原来的值,原来的值没有变化,而是重新生成一个新的字符串,下面是一个很好的说明。

public class ZZConsole

{

     [STAThread]

     static void Main(string[] args)

     {

              string str1 = abc;

              string str2 = str1;

              str1 = 123;

              Console.WriteLine(str1);

              Console.WriteLine(--------------);

              Console.WriteLine(str2);

              Console.WriteLine(--------------);

              ArrayList al1 = new ArrayList();

              al1.Add(abc);

              ArrayList al2 = al1;

              al2.Add(123);

              foreach(object o in al1)

                   Console.WriteLine((string)o);

              Console.WriteLine(--------------);

              foreach(object o in al2)

                   Console.WriteLine((string)o);

              Console.ReadLine();

         }

     }

运行一下看看输出结果就明白了,另外对值类型的数据操作要使用ref关键字。

     总结,我们通过带参数的构造函数实现了窗体间的数据交互,代码看上去也比较清楚,在实际开发过程中,可以把DataSet,DataTable,或者是DataView当作参数,当然如果只是想修改一行,可以传个DataRow或者DataRowView。在下面的文章中我们来看看怎样使用另外两种方法来实现数据的交互。

 

上一页  [1] [2] [3] 

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航