如果声称一个类被命名为“?”,我如何才能恢复我的WinForm?

时间:2014-05-30 15:33:59

标签: winforms visual-studio-2013

我在表单上选择了一个控件并点击Delete键。它不会删除。然后我选择了另一个控件,右键单击并选择了属性。显示“属性”窗格,但为空白。然后我得到了:

enter image description here

如果我给了一个名字"?",那肯定不是故意的。我怎样才能解开这个乱糟糟的混乱?

更新

编译器完全混淆,因为它告诉我,"命名空间不能直接包含诸如字段或方法之类的成员。在这行代码中:

else if (cmbxSel.Equals("CHECKBOX"))

......这只是突然发生的39个错误中的一个。"

更新2

在Designer.cs文件中,没有什么奇怪的东西,AFAICT。这就是:

private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
    if (disposing && (components != null))
    {
        components.Dispose();
    }
    base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
    this.ckbxUseScrollViewer = new System.Windows.Forms.CheckBox();
    this.tabControl1 = new System.Windows.Forms.TabControl();
    this.tabPageRow0 = new System.Windows.Forms.TabPage();
    this.lblRow0Element5 = new System.Windows.Forms.Label();
    this.lblRow0Element4 = new System.Windows.Forms.Label();
    this.lblRow0Element3 = new System.Windows.Forms.Label();
    this.lblRow0Element2 = new System.Windows.Forms.Label();
    this.lblRow0Element1 = new System.Windows.Forms.Label();
    this.lblRow0Element0 = new System.Windows.Forms.Label();
    this.label5 = new System.Windows.Forms.Label();
    this.cmbxRow0Element5 = new System.Windows.Forms.ComboBox();
    this.label4 = new System.Windows.Forms.Label();
    this.cmbxRow0Element4 = new System.Windows.Forms.ComboBox();
    . . .

...并寻找声称的&#34;?&#34;什么都没有。

更新3

还有很多其他的&#34;疯狂&#34;相关代码/ .cs文件中的错误消息,例如:

&#34; 预期标识符 &#34;这里:

safeText = replaceIllegalCharsWithUnderscore(btnText);

...&#34; 无效令牌&#39;!=&#39;在类,结构或接口成员声明中 &#34;这里:

if (string.Empty != cmbxSel)

...&#34; 方法必须有返回类型 &#34;这里:

safeText = replaceIllegalCharsWithUnderscore(btnText);

...&#34; 预期类型 &#34;这里:

stringXMLEntry = string.Format("<string name=\"{0}\">{1}</string>\"", btnStringId, btnText);

...和&#34; 类型或命名空间定义,或预期的文件结尾 &#34;在&#34;}&#34;在这里:

    sb.Append(Environment.NewLine);
}
else if (cmbxSel.Equals("RADIOGROUP"))

IOW,好像编译器有严重的眩晕/迷失方向。

更新4

问题解决了;这完全是因为不知何故:

// and, even before that (if ckbxUseScrollViewer is checked), add the <ScrollView>      
private string getXMLForElement(ComboBox cmbxCtrl, Label lblCtrl)

......已成为这个:

// and, even before that (if ckbxUseScrollViewer is checked), add the <ScrollView>      private string getXMLForElement(ComboBox cmbxCtrl, Label lblCtrl)

一旦我插入一个crlf(定位光标(之前我曾经是那个光标),然后在#34; private&#34;)和mast按下Enter键之后,一切都很顺利。我从39个错误和504个警告(是的,504)变为0和0。

当在设计师中选择一个控件并使用Delete键时,如何发生这种情况,我可能永远不会理解,但这一定是发生了什么...

我是如何通过查看第一个警告来找到问题的来源(没有双关语意图):

CSharp.CsParser : A syntax error has been discovered in file C:\DroidLayoutBuilder\DroidLayoutBuilder\Form1.cs on line 389.

......这把我带到了那个地方。

奇怪的是,这样的事情会导致许多错误和警告,并且设计师会如此痛苦地抱怨?!

更新5

奇怪的是,我再次在设计师中得到了错误的消息,但项目运行良好。也许相关的(???)是我在代码隐藏文件中得到的,&#34;你有混合标签和空格。解决这个问题?&#34;前几次,我选择了&#34; Tabify&#34;我不知道代码是如何被解释的,但我终于厌倦了唠叨,并且选择了不再表现出来的#34; - 但是,放弃唠叨的隐含承诺是一种秃头(或者说是粗体)的谎言。

0 个答案:

没有答案