C#之独特见解实现窗体间传递
2010-01-27 15:55
169 查看
接触C#不满一个月,问题却遇到非常多。总结下来,一共有两个问题。
一个是类的理解,到目前为止,才知道类有属性、有方法,不知道自己有没有理解错,书本还需看多几遍。
第二个就是窗体间参数的传递,看过很多博客的介绍,都能实现,不过就是有点复杂。
我说说我的思路,从主窗体到子窗体的参数传递,相信大家都很容易理解,无非新建子窗体时候在括号里面加上参数而已。
但我们大多数情况,是需要子窗体修改主窗体的内容,比如,ListBox的修改。
高手博客大体是用两个引用同一个类型,子窗体修改类型的同时主窗体再刷新类型,这样就能实现子窗体传参到主窗体。
但由于我们传参时大多数情况下是string或int或bool类型,其实我们大可以通过修改子窗体某些特定类型的属性来实现传参。
比如我上图所示,参数就是string类型的,而窗体Text属性也是string类型的。
我们就可以在子窗体“增加”的点击鼠标事件(双击Button控件)中添加如下代码:
然后在主窗体创建子窗体那里添加如下代码:
可以很清晰看到,我直接Add了子窗体的Text属性,如此,就不必记住那些繁琐的静态类等等
不过此法只适合新手写小程序使用,如大型程序,强烈建议不要使用此方法。
如果属性中没有你想要的类型,可自行添加,不在本文讨论之列。
菜鸟见解,还请各位高手指教。
一个是类的理解,到目前为止,才知道类有属性、有方法,不知道自己有没有理解错,书本还需看多几遍。
第二个就是窗体间参数的传递,看过很多博客的介绍,都能实现,不过就是有点复杂。
我说说我的思路,从主窗体到子窗体的参数传递,相信大家都很容易理解,无非新建子窗体时候在括号里面加上参数而已。
但我们大多数情况,是需要子窗体修改主窗体的内容,比如,ListBox的修改。
高手博客大体是用两个引用同一个类型,子窗体修改类型的同时主窗体再刷新类型,这样就能实现子窗体传参到主窗体。
但由于我们传参时大多数情况下是string或int或bool类型,其实我们大可以通过修改子窗体某些特定类型的属性来实现传参。
比如我上图所示,参数就是string类型的,而窗体Text属性也是string类型的。
我们就可以在子窗体“增加”的点击鼠标事件(双击Button控件)中添加如下代码:
private void OK_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; this.Close(); this.Text = TextBox.Text; }
然后在主窗体创建子窗体那里添加如下代码:
private void Add_Click(object sender, EventArgs e) { Second second = new Second(); second.ShowDialog(); if (second.DialogResult == DialogResult.OK) { ListData.Add(second.Text); ListBox.DataSource = null; ListBox.DataSource = ListData; } }
可以很清晰看到,我直接Add了子窗体的Text属性,如此,就不必记住那些繁琐的静态类等等
不过此法只适合新手写小程序使用,如大型程序,强烈建议不要使用此方法。
如果属性中没有你想要的类型,可自行添加,不在本文讨论之列。
菜鸟见解,还请各位高手指教。
相关文章推荐
- C#利用委托实现窗体间的值传递 .
- C#利用委托实现窗体间的值传递
- C#实现窗体间传递数据实例
- C#利用委托实现窗体间的值传递 .
- 实现C#打印窗体实例详解
- c#第一篇 在WPF的window窗体中使用httpwebrequest实现模拟登陆网页,并在webbroser控件中显示
- C# WinForm 如何实现窗体的关闭时温馨提示
- MDI窗体程序中防止子窗体被多次实例化——Singleton的C#实现
- c#WINFROM窗体之间传递参数的解决方案
- C#使用委托创建事件实现两个窗体间通信
- C#用DesignSurface实现一个简单的窗体设计器
- 转:c#委托事件实现窗体传值
- C#窗体的最大化/最小化/还原/最小化到托盘/NotifyIcon的代码实现
- 在winfrom下利用c#代码,实现kindEditor的JavaScript方法:editor.html(),实现上报窗体的自动提交。
- 用C#实现窗体效果
- c#实现随鼠标移动窗体
- 【C#】更新功能和数据传递的实现
- C#窗体间传递数据
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- C# 第一个窗体的数据传递到第二个窗体上应用