黑马程序员技术交流社区
标题:
winForm窗体传值
[打印本页]
作者:
黄威
时间:
2011-11-1 17:43
标题:
winForm窗体传值
winForm窗体传值有几种方法?分别怎么实现?窗体开发的时候采用什么框架的效率最高?三成架构如何?
请回答,谢谢!
作者:
郑文
时间:
2011-11-1 18:56
举个例子 如果form2是注册窗体 form1是登录窗体 要将form2注册的用户名传到form1的窗体中 可以这样: form1中定义一个属性Username ,和 函数SetName(string name),此函数作用是给username赋值 form2中定义一i个公共的form1类变量 用来接受form1的对象 ,然后就可以实现跨窗口调用了。关于效率问题:采用三层架构其实效率不高,加大了代码的量,但好处是结构清晰,能进行分工合作,利于大型项目的开发。一般小的项目 简单模式执行效率最高。其实效率主要还看你的逻辑与算法。如过你的代码逻辑混乱 ,算法效率低,采用什么样的架构效率也高不了。
作者:
黄威
时间:
2011-11-1 21:05
哦,谢谢。那个窗体传值我也是用属性指段完成的,但是还有一个就是方法重构,页蛮好用的,。我前期开发都是三层架构,但是不知道为什么用,效率如何。谢谢你的分析。 逻辑和算法是经验和写代码风格决定得。
作者:
沙铁健
时间:
2011-11-1 21:39
看你需要什么样子的,大项目三层架构+mysql,一般的小项目我就用三层架构+access.至今除了比赛的时候用过工厂模式.其他普遍的我就用 后者三层架构+access
private void btnDLHG_Click(object sender, EventArgs e)
{
if (dgvZMS.SelectedRows != null)
{
foreach (DataGridViewRow row in dgvZMS.SelectedRows)
{
if (row.Cells[0].Value != null)
{
dlhgqForm dlForm = new dlhgqForm();
dlForm.txtCPXH.Text = row.Cells[0].Value.ToString().Trim();
dlForm.txtCCXH.Text = row.Cells[1].Value.ToString().Trim();
dlForm.ShowDialog();
}
}
}
else
{
MessageBox.Show("请至少选中一行!");
}
}
复制代码
这是我上一个做的项目 把当前窗体DataGridView中的选中行第一列和选中行第二列传给要打开窗体控件赋值.
dlhgqForm dlForm = new dlhgqForm();
dlForm.txtCPXH.Text = row.Cells[0].Value.ToString().Trim();
dlForm.txtCCXH.Text = row.Cells[1].Value.ToString().Trim();
dlForm.ShowDialog();
复制代码
这是一种 其他的 我不说 楼主 自己尝试着写下都是千篇一律的.
作者:
沙铁健
时间:
2011-11-1 22:02
补充下啊 现在也有用模块开发的.
作者:
朱勋
时间:
2011-11-2 09:06
你可一重新编写个类,把需要的东西封装在里面,使全部都可以访问
作者:
郑文
时间:
2011-11-2 13:57
其实三层架构的缺点可以忽略,好处我已经说了。其实我以前写程序都是用UI层直接访问数据库 ,后来我想加个功能,因为代码写的太乱,没法加。然后我学习了JAVAWEB中常用的MVC开发模式,其实.net也一样用。无论底层数据 还是业务逻辑都很清晰。即使加10个功能也可以。
作者:
郑文
时间:
2011-11-2 13:57
其实三层架构的缺点可以忽略,好处我已经说了。其实我以前写程序都是用UI层直接访问数据库 ,后来我想加个功能,因为代码写的太乱,没法加。然后我学习了JAVAWEB中常用的MVC开发模式,其实.net也一样用。无论底层数据 还是业务逻辑都很清晰。即使加10个功能也可以。
作者:
沙铁健
时间:
2011-11-2 14:02
郑文 发表于 2011-11-2 13:57
其实三层架构的缺点可以忽略,好处我已经说了。其实我以前写程序都是用UI层直接访问数据库 ,后来我想加个 ...
本人不才..... 现在 还没研究 三层架构的缺点.......... 不过我就知道三层架构 扩展性好 需要什么功能一安装就可以.
作者:
郑文
时间:
2011-11-2 14:46
不用研究 学的时候就知道了
作者:
陈涛
时间:
2011-11-4 10:30
我知道有3种,1是通过构造函数,2是通过静态变量,3是通过共有属性 不过我个人觉得第2个方法比较好.三层吧简单的说就是DAO,BLL,Model,UI.这是三层的基本结构. 数据访问层,业务逻辑层,封装,表示层.到底是项目中取之那个, 我觉得是应该根据需求来的吧. 三层是最基本也是最简单的.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2