Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#vs中的表单切换,无需启动事件表单加载_C#_Winforms - Fatal编程技术网

c#vs中的表单切换,无需启动事件表单加载

c#vs中的表单切换,无需启动事件表单加载,c#,winforms,C#,Winforms,在3个或更多表单之间切换的最佳方式是什么?(无需每次切换时都加载表单)正如培根在评论中提到的,您必须为每个表单保留引用。一旦你需要其中一种方法,你就称之为(改变可见性或其他适合你的情况的方法)。在你的情况下,我认为你每次都在创建新的表单,而不是调用旧的表单。这就是为什么每次单击表单时都会使用越来越多的资源 正如培根在评论中提到的,你必须为每种形式保留引用。一旦你需要其中一种方法,你就称之为(改变可见性或其他适合你的情况的方法)。在你的情况下,我认为你每次都在创建新的表单,而不是调用旧的表单。这就

在3个或更多表单之间切换的最佳方式是什么?(无需每次切换时都加载表单)

正如培根在评论中提到的,您必须为每个表单保留引用。一旦你需要其中一种方法,你就称之为(改变可见性或其他适合你的情况的方法)。在你的情况下,我认为你每次都在创建新的表单,而不是调用旧的表单。这就是为什么每次单击表单时都会使用越来越多的资源

正如培根在评论中提到的,你必须为每种形式保留引用。一旦你需要其中一种方法,你就称之为(改变可见性或其他适合你的情况的方法)。在你的情况下,我认为你每次都在创建新的表单,而不是调用旧的表单。这就是为什么每次单击表单时都会使用越来越多的资源

你的问题不清楚。在表单之间来回切换时,表单加载不会触发。你能更详细地解释一下发生了什么,并给出一个导致这种情况的代码示例吗?
System.Windows.Forms.Application.OpenForms[formName].Activate()
仅仅切换表单的可见性还不够吗?,您需要在主代码中引用所有三个,以便应用程序不会忘记them@CharlesMay我正在开发一个基准测试应用程序,它有4个表单,每个表单都有很多后台流程,我的问题是,在切换表单之后,它使用了越来越多的资源,我不知道如何优化它。下面是切换:private void CPU_Click(object sender,EventArgs e){CpuForm tempcu=new CpuForm();tempcu.Show();tempcu.Top=this.Top;tempcu.Left=this.Left;this.Hide();//*}您之所以使用资源,是因为您隐藏了每个表单,并且每次都创建一个新表单。您可以使用@stuartd的示例,只需将visible属性设置为true而不是activate。或者培根的例子,跟踪表单并根据需要设置它们的可见性。你的问题不清楚。在表单之间来回切换时,表单加载不会触发。你能更详细地解释一下发生了什么,并给出一个导致这种情况的代码示例吗?
System.Windows.Forms.Application.OpenForms[formName].Activate()
仅仅切换表单的可见性还不够吗?,您需要在主代码中引用所有三个,以便应用程序不会忘记them@CharlesMay我正在开发一个基准测试应用程序,它有4个表单,每个表单都有很多后台流程,我的问题是,在切换表单之后,它使用了越来越多的资源,我不知道如何优化它。下面是切换:private void CPU_Click(object sender,EventArgs e){CpuForm tempcu=new CpuForm();tempcu.Show();tempcu.Top=this.Top;tempcu.Left=this.Left;this.Hide();//*}您之所以使用资源,是因为您隐藏了每个表单,并且每次都创建一个新表单。您可以使用@stuartd的示例,只需将visible属性设置为true而不是activate。或者培根的例子,跟踪表单并根据需要设置它们的可见性。