我的问题是,一般来说,拥有一个多表格程序是可以允许的和可维护的。更具体地说,在C#中,将按钮转到另一个表单是很好的做法(每个按钮都在一个单独的类中)。这是一个例子: (在这个例子中,我创建了一个程序员参考应用程序,我需要从一个页面收集来自Web的信息并将其放在一个应用程序上以供快速参考)
主要形式:
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 :(得分:2)
看看大项目。蒸汽是否为每个动作使用新窗口。 Visual Studio是否为每个操作使用了大量新窗口。这些都是使用不同页面的标签。如果这样做会变得非常混乱。
创建弹出窗口的原因是为了从用户那里获得一些输入。例如:
当程序想要输入一些而不会干扰主要布局和程序目标时,会创建所有这些弹出窗口。这些窗户也会快速关闭。
因此,只有在用户提供输入后迅速消失时才会创建弹出窗口。并将程序的主要功能放在选项卡中。
答案 1 :(得分:1)
我同意Timon的一般说法,但它总是取决于你想要实现的目标。编程是一个创造性的过程,规则应被视为指导。如果您的应用程序更好地使用选项卡使用选项卡,如果它更好地与表单使用表单。如果您为客户编写此应用程序与他们讨论问题。至于最佳实践,我没有看到任何一个选项的问题。
希望我的随意帮助 丹尼