1

我是 Visual Studio 的新手,我只是在弄乱控件以了解事情是如何工作的。我制作了一个具有单个按钮的表单,按下该按钮时,只需将“Hello World”打印到屏幕上。为了尝试更复杂的事情,我删除了该按钮并向表单添加了各种其他工具。但是,Form.cs 文件中的代码没有更新以反映这些对设计的更改,我找不到手动更新它的方法。

任何建议表示赞赏。

问候。

4

7 回答 7

2

如果您查看 Form1.Designer.cs(假设您的表单名为 Form1),您将看到通过构建您的应用程序生成的所有代码的列表,在那里您将看到您的按钮名称,如果按钮被删除,您应该能够安全地删除注释之间的代码。

于 2012-05-31T17:42:06.940 回答
1

您可以在Form1.Designer.cs文件中看到代码在这些行下方的更改....

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>

要手动更新,只需调用 manual_update()。

manual_update()
{

        Button b = new Button();
        b.Text = "new button";
        b.Size = new Size(100, 20);
        b.Location = new Point(20, 20);
        this.Controls.Add(b);
}

您几乎可以手动完成所有操作。

于 2012-05-31T17:47:43.623 回答
0

另外尝试重建..如果您从表单中删除它,有时VS不会从设计器中删除该代码..您将不得不手动删除它/更新它..还要确保您没有任何编译错误

如果您有错误.. 在错误得到解决之前,它们的更改可能不会显示。

于 2012-05-31T17:44:08.780 回答
0

由于您提到您在前端表单文件中添加了其他工具,因此请确保表单中的 Web 控件连接到您拥有的任何事件处理程序。

此外,请确保您正在重新编译/重新构建您的页面,仅用于完整性检查和如果需要。

于 2012-05-31T17:45:25.487 回答
0

有一个Form1.Designer.cs文件,设计器代码就在这个文件里。如果您在解决方案资源管理器中看不到该文件,则解决方案资源管理器窗格顶部有一个按钮,即view files. 点击它。

Visual Studio 为您提供控件的拖放功能,只需右键单击控件并单击“属性”即可更改属性。所以实际上您可能不需要更改设计器代码。但你可以随心所欲...

于 2012-05-31T17:53:43.963 回答
0

如果您Button有一个OnClick事件,它不会在被擦除时Button被擦除。Visual Studio 假定此代码可以在其他地方使用并且不会破坏数据。

每次删除具有事件的控件时,它们都会保留。您必须手动检查并清理您的代码。

编辑:

要为较新的控件显示“新代码”,您必须双击该按钮为该控件生成默认事件,或者进入该控件的属性并为那里的事件生成代码。

于 2012-05-31T18:08:57.363 回答
0

如果我正确理解了您的问题,那么添加控件和更改控件属性的代码都是自动生成的,并驻留在您的示例中,例如 Form1.Designer.cs。除了 Visual Studio 之外,通常不应触及此文件。

如果您想手动添加控件,您应该在InitializeComponent()调用后或在事件之类的Form_Load事件中在 Form1.cs 中执行此操作。下面是在表单加载事件中添加按钮的示例:

private void Form_Load(object sender, EventArgs e)
{
    Button b = new Button();
    b.Left = 10;
    b.Top = 10;
    b.Text = "Button!";
    this.Controls.Add(b); //'this' would be the form self-pointer
}

事件不同。这些将在 Form1.cs 中发生变化,但对设计器所做的更改并不总是反映在事件的代码隐藏文件中。这就是VS的本质。有时删除按钮不会从代码中删除事件,反之亦然。

您可能必须在代码文件中手动从控件中删除事件。

添加控件的代码通常可以通过更改设计器中的控件来强制执行,但至少不会更改的一件事是控件名称更改时的事件名称。例如,如果一个按钮被调用button1并链接到 click 事件button1_click(object sender, EventAgrs e),将按钮名称更改为button12345不会更改事件名称。

您可以通过打开控件属性并单击闪电来更改设计器中的链接事件。这显示了控件的所有事件。双击事件字段将带您进入链接的事件,或者如果该字段为空白,则生成一个事件。此对话框还将允许多个控件链接到单个事件。

以下是事件属性对话框的示例: 事件对话框

您可能只需要摆弄添加控件、链接事件、删除控件等,以了解何时在设计器和代码隐藏中更新更改以及何时未更新更改。

于 2012-05-31T18:14:55.193 回答