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

摘要:
错误消息是:可以设计Form1,但它不是文件中的第一个类。移动类代码使其成为文件中的第一个类,然后尝试重新加载设计器。也就是说,当您单击“视图设计器”时,您无法看到窗体和控件,只能看到错误消息。朱武能可以看出,图1中所示的错误没有出现过一两次。根据这一错误,过去几年表明,生死都无法解决问题,因此他不得不发誓放弃。或者我保存的文件中有磁盘错误?“设计师很正常!”但我不知道为什么VS不能自动帮助我们将类移到Form1类之上。

错误信息是这样的:
 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的上面,把它移动到下面,错误就解决了。
呵呵,也许另有他人有此困惑吧,希望能看到本文解决问题。

免责声明:文章转载自《C#中Form设计器打开失败的错误及解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)Fiddler小技巧-测试上传文件接口下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

FORM开发笔记

1, 界面对行循环后在回到循环前的行 v_current_record number:=Get_Block_Property('block名称', Current_Record); --返回当前行号 go_record(v_current_record); --回到以前的当前行 2,Form中的系统变量,它存在于一个Form的整个运行时期的会话之中,变量包...

jmeter上传图片附件实践

一、根据定义的接口文档,通过Jmeter发起请求 接口请求入参 { "consignorPrice": 299, "manageNo": "MMOUXX", "waybillNo": "100514000141", "driverPrice": 273, "cargoWeight": 29.09, "oil": 34, "loa...

高并发处理(一)页面静态化

前段时间面试,被人问了一个xxx的问题。一个项目,已经明确知道了一个功能在同一时间会有上亿次的并发访问量,让你设计这个项目,从技术选择、数据库的选择、框架搭建等多方面说一下,该怎么解决这个高并发。 查了好多资料,整理一下。 (一)页面静态化,说白了就是把动态页面转成HTML进行访问。 提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说...

调用支付宝转账接口(单笔)

下面这几个类都是支付宝demo里面的,直接拿过来用就可以 using System.Web; using System.Text; using System.IO; using System.Net; using System; using System.Collections.Generic; namespace Com.Alipay { pu...

intellij idea 显示Arraylist 扩容过程 解决not showing null elements

设置显示Arraylist中的null完整查看初始数组大小,扩容过程一、老版本:Settings -> Debugger -> Data Views -> Arrays -> Hide null array elements新版本:Settings -> Debugger -> Data Views -> Java...

python-静态方法staticmethod、类方法classmethod、属性方法property

 Python的方法主要有3个,即静态方法(staticmethod),类方法(classmethod)和实例方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def foo(x):     print "executing foo(%s)"%(x)    class A(object):     ...