首页 / 知识
使用多个视图构建C#.NET Windows应用程序
2023-04-13 01:32:00

Building C# .NET windows application with multiple views我正在重写一个旧的应用程序,并以此为契机尝试C#和.NET开发(我通常在C中做很多插件工作)。 该应用程序基本上是一个收集数据的计时器。 它具有一个带有按钮的开始视图以开始测量。 在测量期间,根据用户想要查看的信息,该应用程序具有五个不同的视图。
在视图之间进行切换的最佳实践是什么? 想法:
创建一堆重叠的面板是设计时的噩梦。 我建议对每个"视图"使用单独的选项卡上的选项卡控件,然后在运行时选择正确的选项卡。您可以通过在表单的Load事件中添加如下内容来避免显示标签头:
我要做的是建立一个面板,将您的不同意见放在主窗体上。 然后,当我想在"视图"之间切换时,将其停靠在主窗体上的面板上。代码看起来像这样。
我之所以这样,是因为您可以重用视图,例如,如果您想在选项卡中打开视图,则可以将用户控件停靠在选项卡页面中。
选项卡式表单通常很好...但是仅当您希望用户能够在任何时候看到任何视图时……听起来好像您可能没有。 单独的表格肯定可以工作,但是您需要确保开关看起来好像不是很……如果您确定新表格的大小和位置与旧表格相同,则更改控件的外观和效果相同。 我经常使用的方法实际上是在单个"面板"控件上预设置所有控件,然后根据需要显示和隐藏这些面板。"面板"控件基本上是一个控件容器...您可以移动面板,面板上的所有控件都可以相对移动。而且,如果显示或隐藏该面板,则其控件也将执行相同的操作。它们非常适合这种情况。
可以使每个视图成为一个UserControl,而不是使每个视图成为单个表单中的面板。然后创建一个表单并编写代码以在表单中创建并显示正确的UserControl并从一个切换到下一个。这将更易于维护,因为您将为每个视图拥有一个单独的类,而不是一个由6个面板组成的单独的Form类,每个面板都有自己的控件-这似乎很困难且容易出错。 我还将查看WPF或Smart Client Software Factory的复合应用程序指南。 |
最新内容
相关内容
Python可以做桌面应用程序吗
Python可以做桌面应用程序吗,平台,系统,较大,标准,培训,界面,桌面,文档,入门,开发者,python可以做桌面应用程序!目前比较主流的几个GUI平台:1pythonvim插件的两种写法
pythonvim插件的两种写法,代码,全球,培训,写法,插件,方式,字符串,变量,标记,符号,python中vim插件的两种写法1、内嵌式{script}的内容是Pythopython如何重写父类的方法
python如何重写父类的方法,培训,方法,测试,实物,实例,定义,以上,行为,教程,更多,python如何重写父类的方法1、说明关于父类的方法,如果不符合您将如何在 Ruby on Rails 应用程
您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?,您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?,应用程序如何使调试 ASP.NET Sharepoint 应
如何使调试 ASP.NET Sharepoint 应用程序的过程更耗时?,如何使调试 ASP.NET Sharepoint 应用程序的过程更耗时?,模式,调试,启动,服务关于vb.net:如何在64位应用程序和VB
关于vb.net:如何在64位应用程序和VB2008 Express上启用“编辑并继续”功能?,关于vb.net:如何在64位应用程序和VB2008 Express上启用“关于ios:如何从自己的本机应用程序
关于ios:如何从自己的本机应用程序中启动Google Maps iPhone应用程序?,关于ios:如何从自己的本机应用程序中启动Google Maps iPhone应关于 asp.net:您如何处理 Web 应用
关于 asp.net:您如何处理 Web 应用程序的版本控制?,关于 asp.net:您如何处理 Web 应用程序的版本控制?,网站,应用程序,控制策略,中有,How关于C#:DateTime.Now是测量函数性能
关于C#:DateTime.Now是测量函数性能的最佳方法吗?,关于C#:DateTime.Now是测量函数性能的最佳方法吗?,代码片段,瓶颈,测量,性能,Is DateTiVisual Studio 2008 Web应用程序项
Visual Studio 2008 Web应用程序项目中设计器文件的目的是什么?,Visual Studio 2008 Web应用程序项目中设计器文件的目的是什么?,网站在不同网站应用程序之间共享ASP.NE
在不同网站应用程序之间共享ASP.NET .ascx控件的最佳方法?,在不同网站应用程序之间共享ASP.NET .ascx控件的最佳方法?,应用程序,控件,关于重写:在重写Java中的等值和哈希
关于重写:在重写Java中的等值和哈希代码时应该考虑哪些问题?,关于重写:在重写Java中的等值和哈希代码时应该考虑哪些问题?,语言,理论,覆