当前位置: 首页 > 编程语言 > C#

将对象从表单传递给表单分享

时间:2023-04-10 23:04:34 C#

C#学习教程:将对象从窗体传递到窗体我想要Person的对象,(有)一个注册,(有一个)在与表单交互时保存和跟踪信息的时间表。我怎样才能做到这一点?我发现了一个建议,像这样在我的Program.cs中声明Person对象->internalstaticclassProgram{publicstaticCurrentPerson_CurrentPerson;//////应用程序的主要入口点。///[STAThread]privatestaticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newFrmWWCShell());然后在Search.cs->Program._CurrentPerson=newCurrentPerson{PersonID=Convert.ToInt32(pID),LastName=lName,FirstName=fName,SocialSn=sSN,MiddleName=mName,BirthDate=Convert.ToDateTime(bDate)};这是最好的方法吗?在Search页面上进行此选择后,仍有大量数据需要从数据库中填充。我怎样才能在每个表单上声明对象并以某种方式传递它?物体随着它们的前进而慢慢地“建立起来”。首先,他们按姓名搜索某人,然后选择要与之共事的人。然后他们可以在那里工作。选择注册后,他们将能够与该程序进行交互。我很感激这里的任何指导,因为这个范围正在旋转我没有经验的头脑......你需要分离数据,逻辑和GUI。查看模型-视图-控制器模式。如果您认为它在您的情况下太复杂,您可能只创建一个中央控制器类来保存中央数据。在每个表单构造函数中传递这个对象,你就完成了。看看中介者设计模式。a)从代码重用的角度来看,单例全局静态属性不是一个好主意。如果您计划从您的代码访问全局静态属性,您的代码将与这个特定的应用程序紧密相关。如果你的代码中总是只有一个Person的实例,那么你可以将这个Singleton放在Person类中,但肯定不能放在你的Program类中。但是请注意,Singleton类的使用通常仅限于日志服务或广泛使用的东西,它肯定永远不会改变。b)相同的对象引用在这种情况下,您不需要单例实例,而是为您访问它的每个表单传递对数据对象(Person或其他)的相同引用。如果您的表单是数据的一部分,那么您只能将那部分数据传递给表单,最好是通过尽可能简单的界面。更改一种形式的数据可能需要更新其他形式。这就是模型-视图-控制器和类似模式可以帮助您的-通知视图数据已在别处更改。例如,通过在Person类中实现IPropertyNameChanged接口,您可以在属性更改时通知任何感兴趣的人(任何形式)。查看此示例:http://msdn.microsoft.com/en-us/library/ms229614.aspx。通过在每个表单中将事件处理程序附加到此事件,您将收到通知,需要禁用所有这些事件。以上就是C#学习教程的全部内容:从窗体到窗体传递对象分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: