手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

Visual Basic .NET中多 Windows 窗体的同步

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  现在我有三个版本的代码,它们都可以同步窗体中控件,因此我可以进行选择。我可能已经使用了自定义事件,在 DataClass 中定义某个事件并让每个窗体都预订它。 然后当这个事件触发时,这些窗体可以从每个事件句柄中获取新的数据并设置适当的控件。但是这样做所需的代码量一点也不会比第一种方法中将控件绑定到类来得少。我可以构建单个实现更新的过程,并将该过程放到某个模块中。我需要向该过程传递窗体实例来实现更新。我可以用类中的某个事件句柄触发这个过程。此过程看起来就像这样:
Sub UpdateControls(ByVal ThisForm As frmBase) With ThisForm .txtNextData.Text = localNextData End With End Sub 

  ThisForm 参数被定义为 frmBase 类型,以便它可以访问 IntelliSense 并获得窗体的自定义属性。简单地将它写成 Form 将无法显示 frmBase 中的属性及其派生窗体。
  另一选择是使用委托。当然,委托可以让我将委托调用重定向到每个窗体的方法上。如果我使用多播机制,那么我可以让每个窗体都处理该事件并更新相应的控件。用委托建立这样的功能听起来确实简单,但 对我来说它更麻烦且没有实践价值。此外,与第三个方法中的 For...Next 循环嵌套相比,这个代码并不难理解。毕竟,一个应用程序花费最大的部分仍然是它的维护。

将你的问题以及对 Ken 的评论发送到 basics@microsoft.com

作者简介
  Ken Spencer 在 32X Tech 工作,在那里他负责培训,软件开发,和 Microsoft 技术的客户服务。



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!