C#中Form设计器打开失败的错误及解决方案
错误信息是这样的:
Form1 可以进行设计,但不是文件中的第一个类。Visual Studio 要求设计器使用文件中的第一个类。移动类代码使之成为文件中的第一个类,然后尝试重新加载设计器。
也就是点击“查看设计器”时不能看到Form和控件只有报错信息。
猪悟能看到如图1所示的错误已经不是一次两次了,前几依据这个错误提示死活解决不了问题,只得骂骂咧咧放弃。
但是这一次实在忍无可忍,怎么可能VS的form编辑器就这么脆弱呢?!或者是我保存的文件出现了磁盘错误?
我回忆起来在最后一次“好的”是没有加类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的上面,把它移动到下面,错误就解决了。
呵呵,也许另有他人有此困惑吧,希望能看到本文解决问题。