2017-04-01 35 views
1

我的问题是,一般来说,允许和维护一个多表单程序。更具体地说,在C#中,最好有一个按钮转到另一个表单(每个按钮都在一个单独的类中)。这里有一个例子: (在这个例子中,我创建一个程序员参考应用,在这里我需要从页转到页收集信息,从网上把它放在为快速参考应用程序)C#多表单编码练习

主要形式有:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace ProgramersReference 
{ 
public partial class main : Form 
{ 
    public main() 
    { 
     InitializeComponent(); 
    } 

    //About button click 
    private void btnAbout_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("Author: anon \n" 
      +"Version Number: 00.00.01 \n" 
      ,"Information"); //Version Key quickreference: 00(high profile change).00(Medium profile change).00(low profile change) 
    } 

    private void btnWebsites_Click(object sender, EventArgs e) 
    { 
     websiteForm websiteFormObj = new websiteForm(); 
     websiteFormObj.Show(); 
    } 
} 
} 

第二种形式(在不同的类):

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace ProgramersReference 
{ 
    public partial class websiteForm : Form 
    { 
    public websiteForm() 
    { 
     InitializeComponent(); 
    } 
    } 
} 

如果这不是一个好办法,你能回答什么是更好的方法,是标签控制更好的方法,或用面板来显示和在应用程序中隐藏新内容?

+0

我认为这是关于风格布局的个人意见。它真的依赖于你试图创建什么程序。你可以尝试的是像VisualStudio这样的可停靠窗口:http://dockpanelsuite.com/。 –

+0

@TimonPost但是就未来的可维护性而言,每个按钮都处于不同的类别,并且将同一个按钮映射到另一个表单的做法是一种很好的做法?感谢您的评论。 – Atlas

+0

我很久以前就试图用usercontrol控制面板。请注意,您应该注意事件处理程序。否则会耗尽内存。对于我来说,选项卡式文档更清晰,但对于干净的代码,请尝试为每个选项卡制作不同的类。 –

回答

2

看看大的节目。蒸汽是否为每个动作使用新窗口。 Visual Studio是否为每一个动作都使用了很多新的窗口。这些都是使用不同页面的标签。如果这样做会变得非常混乱。

创建弹出窗口的原因是为了获得用户的一些输入。例如:

  1. 保存文件
  2. 打开文件
  3. 创建在Visual Studio中的新类。
  4. 更改设置。

所有这些弹出窗口都是在程序想要输入一些内容而不影响主布局和程序目标时创建的。这些窗户也将很快关闭。

所以只有当用户给出一些输入后,他们会很快消失时才创建弹出窗口。并把你的程序的主要功能放在选项卡中。

+0

我明白了一点,谢谢timon。 – Atlas

1

我同意蒂姆所说的一般,但总是取决于你想达到的目标。编程是一个创造性的过程,规则应视为准则。如果您的应用程序使用选项卡更好地使用标签,如果它更适合使用表单使用表单。如果你为客户编写这个应用程序,与他们讨论这个问题。至于最佳做法,我没有看到任何一个选项的问题。

希望我漫记帮助 丹尼