C#多形式编码实践

C# Multi-form coding practice

我的问题是,一般来说,拥有一个多形式的程序是否是允许的和可维护的。更具体地说,在 C# 中,让一个按钮转到另一个表单是一个好习惯(每个按钮都在一个单独的 class 中)。这是一个例子: (在这个例子中,我创建了一个程序员参考应用程序,我需要从一个页面到另一个页面从网络上收集信息并将其放在一个应用程序上以供快速参考)

主要形式:

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();
    }
 }
}

第二种形式(不同CLASS):

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();
    }
   }
}

如果这不是一个好方法,您能否回答什么是更好的方法,选项卡控制是更好的方法,还是使用面板显示和隐藏应用程序中的新内容?

看看大节目。 Steam 是否为每个操作使用新的 windows。 Visual Studio 是否对每个动作都使用了很多新的 windows。他们都在不同的页面上使用标签。如果这样做会变得很乱。

创建弹出 windows 的原因是为了从用户那里获得一些输入。例如:

  1. 保存文件
  2. 正在打开一个文件
  3. 正在 Visual studio 中创建一个新的 class。
  4. 更改设置。

所有这些弹出窗口 windows 都是在程序想要在不干扰主布局和程序目标的情况下进行一些输入时创建的。这些windows也会很快关闭。

因此,只有在用户提供一些输入后它们会迅速消失时才创建弹出窗口 windows。并将程序的主要功能放在选项卡中。

大体上我同意 Timon 所说的,但这始终取决于您要实现的目标。编程是一个创造性的过程,规则应被视为指导方针。如果您的应用程序与选项卡配合使用效果更好,请使用选项卡 如果它与表单配合使用效果更好,请使用表单。如果您为客户编写此应用程序,请与他们讨论这个问题。至于最佳实践,我认为这两个选项都没有问题。

希望我的漫谈能帮到你 丹尼