locked
My winform.designer makes problems RRS feed

  • Question

  • I'm currently working on a 2D editor for a XNA game I plan to make.
    For that editor I use a normal winform and some (mostly custom) controls, which worked fine the first few days, but then suddenly the form started to loose some controls once in a while. 

    As it turned out to be the easyerst way to make some adjustments I changed some lines in the Form.Designer.cs file. At that moments I didn't knew that this could cause problems (and we never know what it dose that).
    So the designer started to loose a control once in a while, which stoped when I stoped changing code in there. What went well for a few days, but now it lost the main split container (which sucks, and disabled all the other controls, even if they are still there).

    I allready played around with the thought to rewrite the whole project (~ 10 manhours), so I wondered if there is any other solution to this.
    Is there a certain line in the designer file that I may have offended. Or will redoing the form do the job?


    Thanks in advance,
    Greg
    • Edited by Greg the Mad Wednesday, July 29, 2009 2:25 PM spelling
    Wednesday, July 29, 2009 2:23 PM

Answers

  • I have reinstalled VC# EE and now it only have lost a control once, in around two days, what it a new record. It looks like its fixed now. Thanks :)

    And yes, Panel is probalby not the best name, but much better then Interface, what was the first name ...
    How do you call the main form on which every other form depents?


    Greg 
    • Marked as answer by Harry Zhu Thursday, August 6, 2009 9:24 AM
    Tuesday, August 4, 2009 10:24 AM

All replies

  • Never be afraid to re-write code. 
    In particular, ugly code that "works" the way you want it to.  Saves time over the long haul.

    In this case, it doesn't work.
    Chalk it up to experience.  Don't mess with the designer.cs files until you understand all of the nuances inside of them.

    Do Over.  Start a new form.

    Rudedog   =8^D
    Mark the best replies as answers. "Fooling computers since 1971."
    • Marked as answer by Greg the Mad Wednesday, July 29, 2009 4:36 PM
    • Unmarked as answer by Greg the Mad Thursday, July 30, 2009 1:49 PM
    Wednesday, July 29, 2009 2:36 PM
  • Well ... I tried it ... it did work at the start, but then ... -.-

    I created a new form and deleted the old one, but still it kept to delete a control once in a while, despite the fact that I never edited anything in the Designer file.
    I'm quite furstrated now and so I just will dump the entire project and recreate the whole stuff, and if that dose not work ... I'll reinstall VC#.

    :(


    Greg
    Thursday, July 30, 2009 1:53 PM
  • What else is occuring?

    Code does not re-write itself for no apparent reason. 
    Sir Isaac Newton's 3rd Law of Programming Motion. 
    "Code at rest tends to stay at rest, unless acted upon by an outside force."
    Mark the best replies as answers. "Fooling computers since 1971."
    Thursday, July 30, 2009 4:05 PM
  • What else occured? Well ... VC# crashes ... probably a other symptom of the evil I somehow have summoned.
    And the code DOES rewritte itsself. I debuged the form, made the one thing, debuged it to see what happens if I do the other thing, and ... gone! A control was missing, like it never existet.

    My guess is that I have, somehow, triggered a bug in the designer, that gets rid of controls if it feels happy. ... Try to make some changes in the designer with the code editor, maybe you can recreate the bug. Add a control here and see how a other one (you never thouched) disappears.


    PS: If you so a fan of Newton, you should read The Universe in a Nutshell, and then you will know that things can happen without a cause. Its physics. ;)

    PPS: Hey, maybe I have created a non-deterministic algorithm, that is non-deterministic, because it has decided to be like that ... do I now get a medal?


    Greg
    Friday, July 31, 2009 3:55 PM
  • Hmm.   Have you tried loading this application onto a different machine?  Same result?

    If code is "re-writing itself", then your Visual Studio installation may be compromised or otherwise corrupted.  Try a remove/re-install.  Until you post code so that others like myself can reproduce the problem, that is the best answer you might get.  I can make changes in my Form Designer, and nothing out of the ordinary occurs.  Controls stay put.  Code remains unchanged.

    Rudedog   =8^D

    PS;  I have already read "The Universe in a Nutshell", and it's predecessor "A Brief History of Time".  Both by Stephen Hawking.

    PPS:  Yes, I am a fan of Newton. 
    The man had such powerfully abstract ideas in his head that he had to invent a new branch of mathematics to express them. 
    Calculus and Differential Equations.
    Mark the best replies as answers. "Fooling computers since 1971."
    Friday, July 31, 2009 5:05 PM
  • So here is the Designer code:

    namespace Hexamat
    {
        partial class Panel
        {
            /// <summary>
            /// Erforderliche Designervariable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Verwendete Ressourcen bereinigen.
            /// </summary>
            /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Vom Windows Form-Designer generierter Code
    
            /// <summary>
            /// Erforderliche Methode für die Designerunterstützung.
            /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
            /// </summary>
            private void InitializeComponent()
            {
                this.menuStrip1 = new System.Windows.Forms.MenuStrip();
                this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.saveUnderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.projectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.projectManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.addWorldToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.addLevelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
                this.splitContainer1 = new System.Windows.Forms.SplitContainer();
                this.tabControl1 = new System.Windows.Forms.TabControl();
                this.EditorPage1 = new System.Windows.Forms.TabPage();
                this.TilePage2 = new System.Windows.Forms.TabPage();
                this.tileManager1 = new Hexamat.TileManager();
                this.ProjectPage1 = new System.Windows.Forms.TabPage();
                this.projectManager1 = new Hexamat.ProjectManager();
                this.menuStrip1.SuspendLayout();
                this.splitContainer1.Panel1.SuspendLayout();
                this.splitContainer1.SuspendLayout();
                this.tabControl1.SuspendLayout();
                this.TilePage2.SuspendLayout();
                this.ProjectPage1.SuspendLayout();
                this.SuspendLayout();
                // 
                // menuStrip1
                // 
                this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                this.fileToolStripMenuItem,
                this.projectToolStripMenuItem});
                this.menuStrip1.Location = new System.Drawing.Point(0, 0);
                this.menuStrip1.Name = "menuStrip1";
                this.menuStrip1.Size = new System.Drawing.Size(697, 24);
                this.menuStrip1.TabIndex = 0;
                this.menuStrip1.Text = "menuStrip1";
                // 
                // fileToolStripMenuItem
                // 
                this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                this.newToolStripMenuItem,
                this.loadToolStripMenuItem,
                this.saveToolStripMenuItem,
                this.saveUnderToolStripMenuItem,
                this.closeToolStripMenuItem});
                this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
                this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
                this.fileToolStripMenuItem.Text = "File";
                // 
                // newToolStripMenuItem
                // 
                this.newToolStripMenuItem.Name = "newToolStripMenuItem";
                this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
                this.newToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
                this.newToolStripMenuItem.Text = "New ...";
                this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
                // 
                // loadToolStripMenuItem
                // 
                this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
                this.loadToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
                this.loadToolStripMenuItem.Text = "Load ...";
                this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click);
                // 
                // saveToolStripMenuItem
                // 
                this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
                this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
                this.saveToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
                this.saveToolStripMenuItem.Text = "Save";
                this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
                // 
                // saveUnderToolStripMenuItem
                // 
                this.saveUnderToolStripMenuItem.Name = "saveUnderToolStripMenuItem";
                this.saveUnderToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
                this.saveUnderToolStripMenuItem.Text = "Save under ...";
                this.saveUnderToolStripMenuItem.Click += new System.EventHandler(this.saveUnderToolStripMenuItem_Click);
                // 
                // closeToolStripMenuItem
                // 
                this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
                this.closeToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q)));
                this.closeToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
                this.closeToolStripMenuItem.Text = "Close";
                this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
                // 
                // projectToolStripMenuItem
                // 
                this.projectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                this.projectManagerToolStripMenuItem,
                this.addWorldToolStripMenuItem,
                this.addLevelToolStripMenuItem});
                this.projectToolStripMenuItem.Name = "projectToolStripMenuItem";
                this.projectToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
                this.projectToolStripMenuItem.Text = "Project";
                // 
                // projectManagerToolStripMenuItem
                // 
                this.projectManagerToolStripMenuItem.Name = "projectManagerToolStripMenuItem";
                this.projectManagerToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
                this.projectManagerToolStripMenuItem.Text = "Project Manager";
                // 
                // addWorldToolStripMenuItem
                // 
                this.addWorldToolStripMenuItem.Name = "addWorldToolStripMenuItem";
                this.addWorldToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
                this.addWorldToolStripMenuItem.Text = "Add World ...";
                // 
                // addLevelToolStripMenuItem
                // 
                this.addLevelToolStripMenuItem.Name = "addLevelToolStripMenuItem";
                this.addLevelToolStripMenuItem.Size = new System.Drawing.Size(161, 22);
                this.addLevelToolStripMenuItem.Text = "Add Level ...";
                // 
                // splitContainer1
                // 
                this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
                this.splitContainer1.Location = new System.Drawing.Point(0, 24);
                this.splitContainer1.Name = "splitContainer1";
                // 
                // splitContainer1.Panel1
                // 
                this.splitContainer1.Panel1.Controls.Add(this.tabControl1);
                this.splitContainer1.Size = new System.Drawing.Size(697, 482);
                this.splitContainer1.SplitterDistance = 394;
                this.splitContainer1.TabIndex = 1;
                // 
                // tabControl1
                // 
                this.tabControl1.Controls.Add(this.EditorPage1);
                this.tabControl1.Controls.Add(this.TilePage2);
                this.tabControl1.Controls.Add(this.ProjectPage1);
                this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
                this.tabControl1.Location = new System.Drawing.Point(0, 0);
                this.tabControl1.Name = "tabControl1";
                this.tabControl1.SelectedIndex = 0;
                this.tabControl1.Size = new System.Drawing.Size(394, 482);
                this.tabControl1.TabIndex = 0;
                // 
                // EditorPage1
                // 
                this.EditorPage1.Location = new System.Drawing.Point(4, 22);
                this.EditorPage1.Name = "EditorPage1";
                this.EditorPage1.Padding = new System.Windows.Forms.Padding(3);
                this.EditorPage1.Size = new System.Drawing.Size(386, 456);
                this.EditorPage1.TabIndex = 0;
                this.EditorPage1.Text = "Editor";
                this.EditorPage1.UseVisualStyleBackColor = true;
                // 
                // TilePage2
                // 
                this.TilePage2.Controls.Add(this.tileManager1);
                this.TilePage2.Location = new System.Drawing.Point(4, 22);
                this.TilePage2.Name = "TilePage2";
                this.TilePage2.Padding = new System.Windows.Forms.Padding(3);
                this.TilePage2.Size = new System.Drawing.Size(386, 456);
                this.TilePage2.TabIndex = 1;
                this.TilePage2.Text = "Tile Manager";
                this.TilePage2.UseVisualStyleBackColor = true;
                // 
                // tileManager1
                // 
                this.tileManager1.Dock = System.Windows.Forms.DockStyle.Fill;
                this.tileManager1.Location = new System.Drawing.Point(3, 3);
                this.tileManager1.Name = "tileManager1";
                this.tileManager1.Size = new System.Drawing.Size(380, 450);
                this.tileManager1.TabIndex = 0;
                this.tileManager1.Text = "tileManager1";
                // 
                // ProjectPage1
                // 
                this.ProjectPage1.Controls.Add(this.projectManager1);
                this.ProjectPage1.Location = new System.Drawing.Point(4, 22);
                this.ProjectPage1.Name = "ProjectPage1";
                this.ProjectPage1.Size = new System.Drawing.Size(386, 456);
                this.ProjectPage1.TabIndex = 2;
                this.ProjectPage1.Text = "Project Manager";
                this.ProjectPage1.UseVisualStyleBackColor = true;
                // 
                // projectManager1
                // 
                this.projectManager1.Dock = System.Windows.Forms.DockStyle.Fill;
                this.projectManager1.Location = new System.Drawing.Point(0, 0);
                this.projectManager1.Name = "projectManager1";
                this.projectManager1.ShowNodeToolTips = true;
                this.projectManager1.Size = new System.Drawing.Size(386, 456);
                this.projectManager1.TabIndex = 0;
                // 
                // Panel
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(697, 506);
                this.Controls.Add(this.splitContainer1);
                this.Controls.Add(this.menuStrip1);
                this.MainMenuStrip = this.menuStrip1;
                this.Name = "Panel";
                this.Text = "Panel";
                this.menuStrip1.ResumeLayout(false);
                this.menuStrip1.PerformLayout();
                this.splitContainer1.Panel1.ResumeLayout(false);
                this.splitContainer1.ResumeLayout(false);
                this.tabControl1.ResumeLayout(false);
                this.TilePage2.ResumeLayout(false);
                this.ProjectPage1.ResumeLayout(false);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            #endregion
    
            private System.Windows.Forms.MenuStrip menuStrip1;
            private System.Windows.Forms.SplitContainer splitContainer1;
            private System.Windows.Forms.TabControl tabControl1;
            private System.Windows.Forms.TabPage EditorPage1;
            private System.Windows.Forms.TabPage TilePage2;
            private System.Windows.Forms.TabPage ProjectPage1;
            private TileManager tileManager1;
            private ProjectManager projectManager1;
            private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem projectToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem projectManagerToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem saveUnderToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem addWorldToolStripMenuItem;
            private System.Windows.Forms.ToolStripMenuItem addLevelToolStripMenuItem;
        }
    }
    Look pritty ordinary to me, but on the other hand did I teach programming myself, ... so I'm no pro. ;)

    And here is the Code of the from:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Xml.Serialization;
    
    namespace Hexamat
    {
        public partial class Panel : Form
        {
            public static HexaProject currentProject;
            public static List<HexaTile> TileList = new List<HexaTile>();
            public static int SelectedTileIndex;
    
            public Panel()
            {
                InitializeComponent();
            }
    
    
            #region Events
    
            static public event EventHandler<EventArgs<HexaProject>> currentProjectChanged;
    
            private void OnProjectChange(HexaProject newProject)
            {
                this.Text = "Hexamate - " + currentProject.Name + " (" + currentProject.Directory + ")";
    
                if (currentProjectChanged != null)
                    currentProjectChanged(this, new EventArgs<HexaProject>(newProject));
            }
    
    
            #endregion
    
            #region Helper Methods
    
            /// <summary>
            /// Saves the current project in the default location
            /// </summary>
            private void SaveProject()
            {
                Cursor = Cursors.WaitCursor;
    
                try
                {
                    currentProject.LastSave = DateTime.Now;
                    XmlSerializer serializer = new XmlSerializer(typeof(HexaProject));
                    TextWriter stream = new StreamWriter(currentProject.FullPath);
                    serializer.Serialize(stream, currentProject);
                    stream.Close();
                }
                catch
                {
                    MessageBox.Show("Hexamat was not able to save the project under the default directory.");
                }
    
                Cursor = Cursors.Arrow;
            }
    
            /// <summary>
            /// Saves the current project under a new location
            /// </summary>
            /// <param name="SaveDirectory">The new location of the project (with extention)</param>
            private void SaveProjectUnder(string SavePath)
            {
                Cursor = Cursors.WaitCursor;
    
                try
                {
                    currentProject.Directory = Path.GetPathRoot(SavePath);
                    currentProject.Name = Path.GetFileNameWithoutExtension(SavePath);
                    currentProject.FullPath = SavePath;
                    currentProject.LastSave = DateTime.Now;
                    XmlSerializer serializer = new XmlSerializer(typeof(HexaProject));
                    TextWriter stream = new StreamWriter(SavePath);
                    serializer.Serialize(stream, currentProject);
                    stream.Close();
                }
                catch
                {
                    MessageBox.Show("Hexamat was unable to save the project, check source code!");
                }
    
    
                Cursor = Cursors.Arrow;
            }
    
            /// <summary>
            /// Loads a given project into the currentProject field.
            /// </summary>
            /// <param name="LoadingDirectory">Full path of the choosen project.</param>
            private void LoadProject(string LoadingDirectory)
            {
                Cursor = Cursors.WaitCursor;
    
                try
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(HexaProject));
                    FileStream fs = new FileStream(LoadingDirectory, FileMode.Open);
    
                    currentProject = (HexaProject)serializer.Deserialize(fs);
    
                    OnProjectChange(currentProject);
                }
                catch
                {
                    MessageBox.Show("Hexamat was not able to load the Project.");
                }
    
                Cursor = Cursors.Arrow;
            }
    
            /// <summary>
            /// Creates a new Project.
            /// </summary>
            private void NewProject()
            {
                ProjectProps newPro = new ProjectProps();
    
                if (newPro.ShowDialog() == DialogResult.OK)
                {
                    currentProject = newPro.ResultProject;
                    OnProjectChange(currentProject);
                }
            }
    
            #endregion
    
            private void newToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (currentProject != null)
                {
                    switch (MessageBox.Show(
                        "Do you want to save your current Project before you create a new?",
                        "New Project",
                        MessageBoxButtons.YesNoCancel))
                    {
                        case DialogResult.Yes:
                            SaveProject();
                            NewProject();
                            break;
                        case DialogResult.No:
                            NewProject();
                            break;
                        case DialogResult.Cancel:
                            break;
                    }
                }
                else
                {
                    NewProject();
                }
            }
    
            private void loadToolStripMenuItem_Click(object sender, EventArgs e)
            {
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Title = "Select Project";
                ofd.Filter = "HexaProjects (*.hexapro)|*.hexapro|" +
                    "All Files (*.*)|*.*";
    
                if (currentProject != null)
                {
                    switch (MessageBox.Show(
                        "Do you want to save your current project before you load a new one?",
                        "Load Project",
                        MessageBoxButtons.YesNoCancel))
                    {
                        case DialogResult.Yes:
                            SaveProject();
                            if (ofd.ShowDialog() == DialogResult.OK)
                            {
                                LoadProject(ofd.FileName);
                            }
                            break;
                        case DialogResult.No:
                            if (ofd.ShowDialog() == DialogResult.OK)
                            {
                                LoadProject(ofd.FileName);
                            }
                            break;
                        case DialogResult.Cancel:
                            break;
                    }
                }
                else
                {
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        LoadProject(ofd.FileName);
                    }
                }
            }
    
            private void saveToolStripMenuItem_Click(object sender, EventArgs e)
            {
                SaveProject();
            }
    
            private void saveUnderToolStripMenuItem_Click(object sender, EventArgs e)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Title = "Select Direction";
                sfd.AddExtension = true;
                sfd.DefaultExt = ".hexapro";
    
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    SaveProjectUnder(sfd.FileName);
                }
            }
    
            private void closeToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (currentProject != null &&
                    DateTime.Compare(currentProject.LastSave, currentProject.LastChange) >= 0)
                {
                    SaveProject();
                    this.Close();
                }
                else
                    this.Close();
            }
        }
    
        public class EventArgs<PayloadType> : EventArgs
        {
            public EventArgs(PayloadType payload)
            {
                Payload = payload;
            }
    
            public PayloadType Payload { get; private set; }
        }
    }
    
    Well thats the second attempt for the form, as I deleted the first one, but it dose have the same problems like the first did.

    So I may spend this beautifull Saturday afternoon reinstalling VC#EE ... :D

    PS: That what made Newton twice that special is that he made it all in a time where the church had more power than the king himself. For the church he was a heretic. If he would not have be that carefull, or if his friends would not have erased the heathen parts of the Principia Mathematica (and other publications), he would have been killed and his knowledge with him.


    Greg
    Saturday, August 1, 2009 1:49 PM
  • How did you make out?

    The symbol "Panel" is not a good name for a form.
    It conflicts with the Forms control by the same name, Panel.
    Mark the best replies as answers. "Fooling computers since 1971."
    Monday, August 3, 2009 1:13 PM
  • I have reinstalled VC# EE and now it only have lost a control once, in around two days, what it a new record. It looks like its fixed now. Thanks :)

    And yes, Panel is probalby not the best name, but much better then Interface, what was the first name ...
    How do you call the main form on which every other form depents?


    Greg 
    • Marked as answer by Harry Zhu Thursday, August 6, 2009 9:24 AM
    Tuesday, August 4, 2009 10:24 AM
  • I have reinstalled VC# EE and now it only have lost a control once, in around two days, what it a new record. It looks like its fixed now. Thanks :)

    And yes, Panel is probalby not the best name, but much better then Interface, what was the first name ...
    How do you call the main form on which every other form depents?


    Greg 


    MainForm, or something else that describes exactly what it is that it does.
    Mark the best replies as answers. "Fooling computers since 1971."
    Tuesday, August 4, 2009 12:32 PM