C#中Form设计器打开失败的错误及解决方案

错误信息是这样的:
 Form1 可以进行设计,但不是文件中的第一个类。Visual Studio 要求设计器使用文件中的第一个类。移动类代码使之成为文件中的第一个类,然后尝试重新加载设计器。   

也就是点击“查看设计器”时不能看到Form和控件只有报错信息。

猪悟能看到如图1所示的错误已经不是一次两次了,前几依据这个错误提示死活解决不了问题,只得骂骂咧咧放弃。
但是这一次实在忍无可忍,怎么可能VS的form编辑器就这么脆弱呢?!或者是我保存的文件出现了磁盘错误?

VS的Form设计器Error提示

我回忆起来在最后一次“好的”是没有加类public class AppDatas,所以就去掉他,结果问题居然解决。“查看设计器正常了!”

其实那段报错信息说的不明白,他说是说了就是没说清!

但不知道为什么vs不自动帮我们把Form1类上面的类移动下来。

代码如下:

using System.Windows.Forms;
using System.Collections;

namespace WindowsFormsApplication4
{

    public class AppDatas
    {
        //静态数据成员
        ******* static ArrayList listData;
        //静态构造函数
        static AppDatas()
        {
            listData = new ArrayList();
            listData.Add("DotNet");
            listData.Add("C#");
            listData.Add("Asp.net");
            listData.Add("WebService");
            listData.Add("XML");
        }
        //静态属性
        public static ArrayList ListData
        {
            get { return listData; }
        }
        //静态方法
        public static ArrayList GetListData()
        {
            return listData;
        }
    }

    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
            this.listBox1.DataSource = AppDatas.ListData;
        }

        p rivate void button1_Click(object sender, EventArgs e)
        {
            Form2 formchild = new Form2();
            formchild.ShowDialog();
            this.listBox1.DataSource = null;
            this.listBox1.DataSource = AppDatas.ListData;

        }

    }
}

大家注意看,类 public class AppDatas 位于类Form1的上面,把它移动到下面,错误就解决了。
呵呵,也许另有他人有此困惑吧,希望能看到本文解决问题。

原文地址:https://www.cnblogs.com/hackpig/p/1668463.html