【发布时间】:2011-07-14 21:33:17
【问题描述】:
在 Windows 应用程序项目(C#、Visual Studio 2010)中,我只是想更改为新的启动表单(保留已经测试过的旧表单)。在 program.cs 中,我注释掉“旧”表单并引入我的新“克隆”:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1()); // this working form uses ListBox
Application.Run(new GridForm()); // want this new form which uses DataGridView
}
Form1 和 GridForm 都在同一个项目中,并且都具有相同的 using 指令。 (sn-p 如下):
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using System.Xml.XPath;
using System.IO;
using System.Reflection;
using CBMI.Common;
using log4net;
using log4net.Config;
namespace CBMI.WinFormsUI
{
public partial class GridForm : Form
{
private string defaultRootFolder;
public static readonly ILog log = LogManager.GetLogger(typeof(GridForm));
public GridForm()
{
InitializeComponent();
}
似乎是一个非常简单的问题/问题,但我很难过。
编辑更新:
不知何故,在克隆/“重构”过程中,我通过引入大小写更改弄乱了新表单上的命名空间。这是通过尝试您的建议发现的:
private void Form1_Load(object sender, EventArgs e)
{
CBMI.WinFormsUI.GridForm improvedForm = new CBMI.WinFormsUI.GridForm();
improvedForm.Show();
return;
Form1.cs 的命名空间编码如下:
namespace CBMI.WinformsUI
GridForm.cs 的命名空间编码如下(注意 CamelCase):
namespace CBMI.WinFormsUI
EDIT-UPDATE:克隆/重构新表单的最佳做法是什么?
我忘记了我是如何破解新表格的。我想我是从向项目“添加新项目”开始的,给它起新名称并保存。然后我手动复制了一些原始代码并引入了新的datagridview等,并从新表单中删除了以前的用户界面控件。我总是觉得让“版本 1”工作并引入从“旧”构建的新扩展事物有点尴尬。 “专业人士”是如何做这种事情的?
【问题讨论】:
-
您收到什么错误信息?
-
工具 + 选项、项目和解决方案、构建和运行、“在发生构建或部署错误时运行”= 不启动。