谢 谢 收 藏 http://www.qqread.com/vbdotnet/e284298.html
下面,我建立一个名为 modGeneral 的模块并加入下面一行代码:
Friend DataStuff As DataClass
这一行代码为我的新类 DataClass 创建了一个友元变量,使你可以完全访问程序集,对这个简单例子来说,也就是指完整的应用程序。然后我添加了下面的代码到 Form1 的 Load 事件:
DataStuff = New DataClass
Me.txt1stData.DataBindings.Add("Text", DataStuff, "MyData")
Me.txt2ndData.DataBindings.Add("Text", DataStuff, "MoreData")
第一行建立一个 DataClass 新实例。下面两行代码将数据绑定到 textbox 控件。对这个窗体而言,就这么些操作!
现在,你怎样让它们与 Form2 和其它窗体上的数据同步呢?将下面两行加入到 Form 2 的窗体load 事件中去:
Me.txt1stData.DataBindings.Add("Text",DataStuff, "MyData")
Me.txt2ndData.DataBindings.Add("Text",DataStuff, "Moredata")
这个方法容易确保所有窗体上的几乎任何类型的数据处于同步状态。你可以简单地将控件绑定到某个类的相同实例上,这就行了。
现在来看另一个方法。我创建了一个名为 frmBase 的新窗体。这时我在上面放一个 textbox (txtNextData)和 label。我想 让应用程序的每个窗体都共享这个 textbox 和 label,并且我希望它们互相之间保持同步,于是我重建这个工程。通过从新的 frmBase 中的继承 ,我创建了 Form1 和Form2,因此它们继承了所有新的控件。但是我怎样能保持这些控件同步呢?这时必须写一点代码去达到此效果,这些代码在单个的类中,通过简单地调用一个函数而被复用。
Figure 3 中的代码展示了这个称为 modGeneral 模块。它的第一个任务是定义两个变量:MyForms 和 localNextData。MyForms 是一个 集合,它将包含我想要同步的窗体列表。localNextData变量将储存所有我想要在窗体里显示的数据。注意这些变量可以驻留于某个类中而不是某个模块里。
AddForm 过程来自 modGeneral,带一个窗体实例参数,并将其加入 MyForms 集合中。我将在UpdateControlsNextData 过程中使用这个 集合以决定哪些窗体要更新。AddForm 也调用UpdateControlsNextData 来确保一个新窗体是用正确的数据更新的。
modGeneral 中的其它代码是 NextData 属性。这些属性的 set 存取器更新 localNextData 并也调用 UpdateControlsNextData 去同步所有窗体。这时所有我需要做的是 在想要改变它时设置 NextData,通过调用 UpdateControlsNextData,所有窗体将被更新。
更多内容请看.NET移动与嵌入式技术、.NET开发手册、.NET实用开发专题,或进入讨论组讨论。
下面,我建立一个名为 modGeneral 的模块并加入下面一行代码:
Friend DataStuff As DataClass
这一行代码为我的新类 DataClass 创建了一个友元变量,使你可以完全访问程序集,对这个简单例子来说,也就是指完整的应用程序。然后我添加了下面的代码到 Form1 的 Load 事件:
DataStuff = New DataClass
Me.txt1stData.DataBindings.Add("Text", DataStuff, "MyData")
Me.txt2ndData.DataBindings.Add("Text", DataStuff, "MoreData")
第一行建立一个 DataClass 新实例。下面两行代码将数据绑定到 textbox 控件。对这个窗体而言,就这么些操作!
现在,你怎样让它们与 Form2 和其它窗体上的数据同步呢?将下面两行加入到 Form 2 的窗体load 事件中去:
Me.txt1stData.DataBindings.Add("Text",DataStuff, "MyData")
Me.txt2ndData.DataBindings.Add("Text",DataStuff, "Moredata")
这个方法容易确保所有窗体上的几乎任何类型的数据处于同步状态。你可以简单地将控件绑定到某个类的相同实例上,这就行了。
现在来看另一个方法。我创建了一个名为 frmBase 的新窗体。这时我在上面放一个 textbox (txtNextData)和 label。我想 让应用程序的每个窗体都共享这个 textbox 和 label,并且我希望它们互相之间保持同步,于是我重建这个工程。通过从新的 frmBase 中的继承 ,我创建了 Form1 和Form2,因此它们继承了所有新的控件。但是我怎样能保持这些控件同步呢?这时必须写一点代码去达到此效果,这些代码在单个的类中,通过简单地调用一个函数而被复用。
Figure 3 中的代码展示了这个称为 modGeneral 模块。它的第一个任务是定义两个变量:MyForms 和 localNextData。MyForms 是一个 集合,它将包含我想要同步的窗体列表。localNextData变量将储存所有我想要在窗体里显示的数据。注意这些变量可以驻留于某个类中而不是某个模块里。
AddForm 过程来自 modGeneral,带一个窗体实例参数,并将其加入 MyForms 集合中。我将在UpdateControlsNextData 过程中使用这个 集合以决定哪些窗体要更新。AddForm 也调用UpdateControlsNextData 来确保一个新窗体是用正确的数据更新的。
modGeneral 中的其它代码是 NextData 属性。这些属性的 set 存取器更新 localNextData 并也调用 UpdateControlsNextData 去同步所有窗体。这时所有我需要做的是 在想要改变它时设置 NextData,通过调用 UpdateControlsNextData,所有窗体将被更新。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- .NET移动与嵌入式技术 (5974篇文章)
- .NET开发手册 (5673篇文章)
- .NET实用开发 (1687篇文章)
- .NET框架架构 (467篇文章)
- vb.net GDI+入门——使用DrawString显示文本 (0次浏览)
- VB2005中开发新一代控制台应用程序(1) (0次浏览)
- VB2005中开发新一代控制台应用程序(2) (0次浏览)
- VB2005中开发新一代控制台应用程序(3) (0次浏览)
- vb.net使用ListView 控件显示系统驱动器 (0次浏览)
- vb.net入门——ListView 控件的使用 (0次浏览)
- vb.net GDI+入门——使用Graphics对象填充图形 (0次浏览)
- .Net中ListView控件多选时复选框自动选择问题 (0次浏览)
- vb.net GDI+入门——使用Graphics对象绘制线图 (0次浏览)
- vb.net GDI+入门——了解Font类 (0次浏览)



