Windows组件开发中传值
来源:互联网 发布:算法统宗 djvu 编辑:程序博客网 时间:2024/06/05 13:53
和Jerry师父一块儿做给石油大学的一个项目,主要是基于组件的开发,说白了,就是把Windows控件进行组合,然后拖到主窗体上进行使用,实现代码的复用。
但是在做装置模块时,我想实现点击树形目录后选择添加自动在新增的窗体上把选择的设备的大类传过去,两天没有弄明白。今天使用断点调试,终于搞定了。
这里我们使用
ZhuangZhiLid.cs作为树形列表显示窗体, SheBeiInfo.cs添加设备窗体,SheBeiInfoCtl.cs作为添加选项的面板组件(添加设备信息的集合)。
1. 要获取要添加的大类的名称,这是在ZhuangZhiLid中点击树形目录后选择“添加”后得到的
ZhuangZhiLid.cs
/// <summary>
/// 添加新设备
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiAddSheBei_Click(object sender, EventArgs e)
{
SheBeiInfo win = new SheBeiInfo(CurrentZhuangZhi.ID);
win.Type = CurrentNode.Text;//设置大类
if (win.ShowDialog(this) == DialogResult.OK)
{
//在当前层的最后一个节点后面追加新节点。
CurrentNode.Nodes.Add(win.NewNode);
}
}
2. 在SheBeiInfo.cs
private string _Type = null;
/// <summary>
/// 类型
/// </summary>
public string Type
{
get
{
return _Type;
}
set
{
this._Type=value;
}
}
注意:这里要将Type属性具有get方法,否则是不能读取的。
3. 在SheBeiInfoCtl.cs中
private string _dalei = null;
/// <summary>
/// 选择的大类
/// </summary>
public string Dalei
{
get
{
return this._dalei;
}
set
{
this._dalei = value;
}
}
public override void Init()
{
base.Init();
//显示大类列表
cbDaLei.DataSource = dataObject.DaLeiList;
//新增
if (this._Action == DataLayer.Object.Operation.Insert)
{
//TODO:根据选择自动填充下拉框的内容
cbDaLei.SelectedItem = Dalei.ToString();
}
……
}
这里添加Dalei的字段和方法主要是为了在
在SheBeiInfo.cs中
private void SheBeiInfo_Load(object sender, EventArgs e)
{
……
sheBeiInfoCtl1.Dalei = this.Type;
sheBeiInfoCtl1.Init();
}
将选择的大类值传递到组件中。
梳理一下整个思路:
我们采用组件开发,在组件中实现获取主窗体的值,步骤为:
(1)在组件中设置相应的字段与属性
(2)主窗体声明组件后,将主窗体的控件的值赋值给组件
(3)以此类推,当给窗体要想获得其他窗体的值,可以采用同样的方式
充分体现了面向对象封装的思想。
后面我会在我的资源中上传一个demo。
- Windows组件开发中传值
- Windows CE 组件和开发工具
- Windows CE 系统进程外组件应用开发
- 系统重装配置一切windows常用开发组件
- 组件开发
- Windows Store apps开发[16]编写和使用自己的Windows Runtime组件
- Windows 组件一览
- [Windows]COM组件注册
- Windows内核中的组件
- 修复Windows组件
- easyui-windows组件
- 在Windows Phone中进行3D开发之十组件
- <<Windows CE 系统进程外组件应用开发 >> 文章的解读
- 甘特图排程组件开发(TsyGantt)
- Flash V2组件开发
- Java平台组件开发
- JSF 组件开发
- 基于组件的开发
- iis-SSI全攻略
- windows 内存管理4 整理 (堆) http://blog.csdn.net/yaosan/archive/2006/09/10/1203851.aspx
- Blog of Visual Studio 2005 Tip
- CFile
- Windows内存管理机密+揭穿内存优化工具的骗局http://softbbs.zol.com.cn/1/67_750.html
- Windows组件开发中传值
- 中国上网贵不贵比一比就知道 世界上网费大比拼
- 截取日期格式的年月
- How to import a batch of files into vob in ClearCase
- Windows内存管理 http://blog.csdn.net/zeroless/archive/2006/03/17/626849.aspx
- Ajax实例
- dos下ftp上传下载文件
- Linux的国际化和本地化机制简介
- DataFormatString--格式化字符串 、常用正则表达式