【发布时间】:2017-04-01 21:03:31
【问题描述】:
我的问题是,一般来说,拥有一个多形式的程序是允许和可维护的。更具体地说,在 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();
}
}
}
如果这不是一个好方法,您能回答什么是更好的方法,选项卡控制是更好的方法,还是使用面板显示和隐藏应用程序中的新内容?
【问题讨论】:
-
我认为这是关于样式布局的个人意见。它实际上取决于您要创建的程序。你可以试试像 VisualStudio 这样的可停靠窗口:dockpanelsuite.com.
-
@TimonPost 但是就未来的可维护性而言,将每个按钮放在不同的类中并将同一个按钮映射到另一个表单是否是一种好习惯?感谢您的评论。
-
我很久以前就尝试过使用带有用户控件的面板。请注意,您应该注意事件处理程序。否则会耗尽内存。对我来说,使用选项卡式文档更干净,但对于干净的代码,请尝试为每个选项卡创建不同的类。
-
尝试阅读之前的MVP模式。从发布的代码中,您正在使用 winforms。
-
@AdrianStanculescu 感谢您的回复。
标签: c# maintainability