方法'InitializeComponent'中的代码由设计者

时间:2017-10-30 18:23:57

标签: c# winforms windows-forms-designer initializecomponent

  

方法'InitializeComponent'中的代码由设计者生成,不应手动修改。请删除所有更改,然后再次尝试打开设计器。

我是新手,所以请耐心等待。我复制并粘贴了一些表格,并立即得到了这个错误。所以我登录了该人的电脑 谁写了这个程序,重复了这些步骤而没有帮助。

如果愿意的话,我改变了FormA到FormB的新表格中的所有内容。我不是要模糊,但程序是如此之大,我甚至不知道在这里粘贴什么。

我一直遇到组件和/或初始化组件的问题,我不知道它的含义。我也太新了,无法理解其他StackOverflow解决方案是什么。我尝试删除Designer.cs,但没有帮助。它不是网络表单。它是一个带有SQL后端的C#程序。

以下是一些代码。我不确定这是否有帮助。我有8000个错误。我认为这与此有关。

public FormA()
    {
        InitializeComponent();
        this.StartPosition = FormStartPosition.CenterScreen;
    }

我也在这里遇到错误。这是红色强调bool和compoents.Dispose

    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

此外,我在FormA上遇到很多错误。 (它不是那个,我只是为了清晰起见而使用它。)FormA.textA和FormA.textA之间的歧义(是的它是相同的,但它与原始版本编译得很好。)

任何人都可以帮助我吗?谢谢。

编辑:添加Amy的开头代码

   public partial class FormA : Form
    {

        string dbname = @"SERVER = np:PROD; DATABASE = TEMP; Integrated security = true; Enlist = false";
        string user = Environment.UserName.ToString();
        System.Windows.Forms.Timer tmr = new System.Windows.Forms.Timer();
        System.Windows.Forms.Timer IdleTimer = new System.Windows.Forms.Timer();

        public FormA()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
        }

        private void FormA_Load(object sender, EventArgs e)
        {
            Application.Idle += new EventHandler(Application_Idle);
            this.KeyPreview = true;
            btnSched.Text = "Edit " + DateTime.Now.ToString("MM/dd/yyyy") + " Schedule";
            calendarRefresh();
            tmr.Interval = 1000;//ticks every 1 second
            tmr.Tick += new EventHandler(tmr_Tick);
            tmr.Start();
            loadCurrentlyDisplayed();
            createUser();
            refreshUsers();
            loadNotes();
        }

在此之后它只是在执行各种功能之后的功能。我可以添加更多,但我不知道我有多少空间。

1 个答案:

答案 0 :(得分:0)

  

方法中的代码' InitializeComponent'是由...生成的   设计师,不应手动修改。请删除任何   改变并再次尝试打开设计师。

不应修改生成的代码,因为手动更改将被丢弃。这应该是一个警告,但它会在你变得太深之前强调这个问题。

有一些解决方案:

  • 删除修改后的设计器文件(* .g.cs)并重建。这应该导致VS重新生成它们。这通常有效,但确实会不时失败。除非手动添加,否则从解决方案资源管理器中看不到设计器文件,您必须从文件浏览器中删除它们。默认情况下,它们位于项目的obj文件夹中。
  • 如果您尚未保存,关闭并重新打开解决方案,则应该可以撤消对设计器文件所做的所有更改。
  • 将除设计器代码之外的所有代码复制到暂存器,删除表单,重新创建表单,并在适当的位置注入复制的代码。
  

我也在这里收到错误。它的红色强调了bool和   components.Dispose

这表明Dispose不是任何类components的方法。在你发布它的类型之前,我们可以对此有所帮助。

  

此外,我收到很多关于FormA的错误。 (它没有被称为   为了清楚起见,我只是使用它。)FormA.textA之间的歧义   和FormA.textA(是的它是相同的,但它编译得很好   原始版本。)

这很可能与设计器文件问题有关。尝试本答案开头的解决方案。如果没有解决它,表单代码(即FormA.cs)必须有重复的字段。确保未修改设计器文件,并且表单代码中不存在重复的字段名称。