[转]有关WorldWind1.4的worldwind.cs窗口设计器打开错误的解决方法

Solution for Designer error when opening WorldWind.cs in WW1.4.0

When I load the WW project in my Visual C# 2005 Express Edition , I get the following error when I open WorldWind.cs. I can open the code but the designer refuses to open it.

The designer cannot process the code at line 1070: this.splitContainer.Panel1Collapsed = !World.Settings.BrowserVisible; The code within the method ‘InitializeComponent‘ is generated by the designer and should not be manually modified. Please remove any changes and try opening the designer again.

at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.XML.CodeDomXmlProcessor.Crea teQuoteexpression_r(XmlElementData xmlElement)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.XML.CodeDomXmlProcessor.XmlE lementData.get_CodeDomElement()
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.XML.CodeDomXmlProcessor.EndE lement(String prefix, String name, String urn)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.XML.CodeDomXmlProcessor.Pars e(XmlReader reader)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.XML.CodeDomXmlProcessor.Pars eXml(String xmlStream, CodeStatementCollection statementCollection, String fileName, String methodName)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.VSCodeDomParser.OnMethodPopu lateStatements(Object sender, EventArgs e)
at System.CodeDom.CodeMemberMethod.get_Stat ements()
at System.ComponentModel.Design.Serializati on.TypeCodeDomSerializer.Deserialize(IDe signerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serializati on.CodeDomDesignerLoader.PerformLoad(IDe signerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.VSCodeDomDesignerLoader.Perf ormLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serializat ion.CodeDom.VSCodeDomDesignerLoader.Defe rredLoadHandler.Microsoft.VisualStudio.T extManager.Interop.IVsTextBufferDataEven ts.OnLoadCompleted(Int32 fReload)

Is this a limitation of C# 2005 Express Edition and should I try VS 2005 or an equivalant. Any suggestions ?

Solution:在WorldWind.cs 文件中加一个函数InitializeWorldWindows();函数体主要由InitializeComponent()中去掉的语句组成,实现加载WorldWindows窗口并显示地球的功能,InitializeWorldWindows()加在构造函数MainApplication()中的InitializeComponent()函数的调用之后;InitializeWorldWindows函数如下:

private void InitializeWorldWindows()
{
           //
           // splitContainer
           //
           this.splitContainer.Orientation = getWebBrowserOrientationFromSetting(World.Settings.BrowserOrientationHorizontal);
            this.splitContainer.Panel1Collapsed = !World.Settings.BrowserVisible;
            //
            // worldWindow
            //
            this.worldWindow = new WorldWind.WorldWindow();
            this.worldWindow.AllowDrop = true;
            this.worldWindow.Cache = null;
            this.worldWindow.Caption = "";
            this.worldWindow.CurrentWorld = null;
            this.worldWindow.Dock = System.Windows.Forms.DockStyle.Fill;
            this.worldwindows.isRenderDisabled = false;
            this.worldWindow.Location = new System.Drawing.Point(0, 0);
            this.worldWindow.Name = "worldWindow";
            this.worldWindow.ShowLayerManager = false;
            this.worldWindow.Size = new System.Drawing.Size(splitContainer.Panel2.Width, splitContainer.Panel2.Height);
            this.worldWindow.TabIndex = 0;
            this.worldWindow.Text = "worldWindow";
            //
            // splitContainer1.Panel1
            //
            this.splitContainer.Panel1.Controls.Add(this.webBrowserPanel);
            this.splitContainer.Panel1.Name = "webBrowserPanel";
            //
            // splitContainer1.Panel2
            //
            this.splitContainer.Panel2.Controls.Add(this.worldWindow);
            this.splitContainer.TabIndex = 0;
}

在worldwind.cs的InitializeComponent()函数中注释掉下面的代码,使用Ctrl+F进行查找然后注释。

this.worldWindow = new WorldWind.WorldWindow();
            this.toolBarButtonLatLonLines = new System.Windows.Forms.ToolBarButton();
            this.splitContainer.Orientation = getWebBrowserOrientationFromSetting(World.Settings.BrowserOrientationHorizontal);
            this.splitContainer.Panel1Collapsed = !World.Settings.BrowserVisible;
            //
            // worldWindow
            //
            this.worldWindow.AllowDrop = true;
            this.worldWindow.Cache = null;
            this.worldWindow.Caption = "";
            this.worldWindow.CurrentWorld = null;
            this.worldWindow.Dock = System.Windows.Forms.DockStyle.Fill;
            this.worldwindows.isRenderDisabled = false;
            this.worldWindow.Location = new System.Drawing.Point(0, 0);
            this.worldWindow.Name = "worldWindow";
            this.worldWindow.ShowLayerManager = false;
            this.worldWindow.Size = new System.Drawing.Size(splitContainer.Panel2.Width, splitContainer.Panel2.Height);
            this.worldWindow.TabIndex = 0;
            this.worldWindow.Text = "worldWindow";

            //
            // splitContainer1.Panel2
            //
            this.splitContainer.Panel2.Controls.Add(this.worldWindow);

原文链接:Solution for Designer error when opening WorldWind.cs in WW1.4.0

时间: 2024-12-11 12:06:08

[转]有关WorldWind1.4的worldwind.cs窗口设计器打开错误的解决方法的相关文章

Win8 弹出窗口不在最前端的解决方法

Win8系统的使用者有很多会遇到弹出窗口不在最前端的情况(自动隐藏,点下页面又出来),比如另存为的时候 ,或是登录路由器时弹出的登录框时. 引起这个异常的原因是与系统输入法冲突引起,但又不可能不用第三方的输入法,所以必需用其它方式解决,按下面图片步骤设置,即可完美解决.

JavaScript关闭窗口的同时打开新页面的方法

做网页的时候需要弹出一个小窗口,然后要实现一个功能就是鼠标点击超链接关闭小窗口并打开一个新页面,就如同下图: 这是一个小窗口,点击超链接这个窗口会关闭并且会正常在浏览器打开新页面,首先写js关闭窗口的方法 1 <script type="text/javascript"> 2 function closewin(){ 3 //关闭窗口的方法 4 window.opener=null; 5 window.open('','_self',''); 6 window.close(

presentViewController显示方式的窗口,没有导航栏的解决方法

ViewController *Controller = [[ViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:Controller]; [self presentViewController:nav animated:YES completion:nil]; //未登录,跳转到登录页面    TLDLoginV

孙鑫视频改变窗口过程函数中出现error C2440错误的解决方法

在Visual Studio 2010中,即使代码是完完全全按照孙鑫视频中的敲,也会在出现error C2440,这是因为开发平台由VC6.0升级至VS2010,需要将原有的项目迁移.VS2010对消息的检查更为严格,以前在VC6.0下完全正常运行的消息映射在VS2010下编译不通过. 百度了解决方法如下(亲测可用): 例如:TestDlg.cpp中ON_REGISTERED_MESSAGE(WM_INITDIALOG, &CTestDlg::OnInitDialog):第一:把原来的消息函数返

ajax请求成功后新窗口window.open()被拦截的解决方法

ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截. 解决方法: 1.异步改为同步,即:async:false 2.将新开窗口指向为一个对象,然后修改对象的 ur

unity3d 中文乱码解决方法&mdash;&mdash;cs代码文件格式批量转化UTF8

在Unity3d中经常会碰到中文乱码的问题,比如代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等 其原因在于,unity本身是不顾及地区的,所以默认全部为unicode编码,造成中文乱码 解决方法很多,比如, 一个一个文件用文本工具转成utf8格式 修改unity3d文件模板 第一种方法,在数量少的时候可行,数量多的时候就比较耗时和重复 第二种方法在项目前期做好的话非常有效,但是如果之前没这么处理就就没什么用了,而且一旦unity版

js window.open打开新窗口原页面出现[object window]解决办法

解决方法: 1.<a href="javascript:window.open('about:blank','_blank');void(0);">ddd</a>只需要在href中加入void(0);即可2.<a href="#" onclick="window.open('about:blank','_blank')">ddd</a> window.open()函数说明: 函数原型:window.

Linux窗口最小化消失,任务栏上无法找到的解决方法

“我在Linux系统下最小化窗口时就消失了,在任务栏上也无法找到,你知道怎么让它在任务栏上显示吗?”——到目前为止,已经有不下于五个朋友问过我这个问题.尽管这是一个Linux系统X Window中入门级的操作,但我很惊讶居然让这么多人感到迷惑.更有趣的是,有个家伙发现这种情况下可以用Alt+Tab切换窗口,于是就以为是自己安装的Linux操作系统有问题,问我是不是需要重装系统! 闲话少说,上解决方法:先纠正一个概念,在Linux的Gnome或KDE桌面环境里,跟Windows的任务栏一样的横条叫

在windows中的DOS窗口执行adb shell出错的解决办法

1,首先要检查是否已经配置好环境变量或者在platform-tools目录(adb.exe存在的路径)下执行的adb shell 2,步骤1没问题的话,那么运行:adb kill-server 再执行:adb shell 好了,问题解决(PS:反正我的解决了) 在windows中的DOS窗口执行adb shell出错的解决办法,布布扣,bubuko.com