即使代码存在,菜单条也不会在表单设计器中显示

时间:2013-10-25 13:30:10

标签: c# forms visual-studio-2012

昨晚,我正在通过visual studio 2012在C#中开展我的项目。突然间,我遇到了一些来自visual studio的错误,然后菜单条进入隐藏状态。现在我的表单中没有菜单条,我丢失了所有可视选项,但我在formdesigner.cs文件中包含了所有代码。我不能再次选择所有选项,因为它很难且耗时,我必须用新名称创建菜单条。并按新名称创建所有子项。

如何恢复丢失的菜单条形式?

这是我的设计师代码的一部分:

 this.Main = new System.Windows.Forms.ToolStripMenuItem();
 this.userOptionTtm = new System.Windows.Forms.ToolStripMenuItem();
 this.changePasswprdTSM = new System.Windows.Forms.ToolStripMenuItem();
 this.CalenderOption = new System.Windows.Forms.ToolStripMenuItem();
 this.CalenderOption2 = new System.Windows.Forms.ToolStripMenuItem();
 this.CalenderOption1 = new System.Windows.Forms.ToolStripMenuItem();
 this.hollydays = new System.Windows.Forms.ToolStripMenuItem();
 this.ExitTsm = new System.Windows.Forms.ToolStripMenuItem();
 this.useroption = new System.Windows.Forms.ToolStripMenuItem();
 this.ReportsTSM = new System.Windows.Forms.ToolStripMenuItem();
 this.loanListTsm = new System.Windows.Forms.ToolStripMenuItem();
 this.FeutureJobsTSM = new System.Windows.Forms.ToolStripMenuItem();

我有菜单的所有子项的属性,我之前创建(或定义)。例如:

//
// Main
//
this.Main.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.userOptionTtm,
this.CalenderOption,
this.ExitTsm});
this.Main.Font = new System.Drawing.Font("Segoe UI", 9F);
this.Main.Name = "Main";
this.Main.Size = new System.Drawing.Size(62, 20);
this.Main.Text = "تنظیمات";
//
// userOptionTtm
//
this.userOptionTtm.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.changePasswprdTSM});
this.userOptionTtm.Font = new System.Drawing.Font("Segoe UI", 10F);
this.userOptionTtm.Image = global::TimeManagment.Properties.Resources._0079;
this.userOptionTtm.Name = "userOptionTtm";
this.userOptionTtm.Size = new System.Drawing.Size(165, 24);
this.userOptionTtm.Text = "تنظیمات کاربر";
this.userOptionTtm.Click += new System.EventHandler(this.chengePasswordTtm_Click_1);

在我的表单代码中,我有这个菜单的所有代码。例如:

private void FeutureJobsTSM_Click(object sender, EventArgs e)
{
    FeutureReportForm.isJobs = true;
    FeutureReportForm fr = new FeutureReportForm();
    fr.ShowDialog(this);
}

private void changePasswprdTSM_Click(object sender, EventArgs e)
{
    chengePasswordForm cpf = new chengePasswordForm();
    cpf.ShowDialog();
}

1 个答案:

答案 0 :(得分:0)

大家好。我将这些行添加到Form.Designer.cs文件中并解决了我的问题。

this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.menuStrip1.BackColor = System.Drawing.Color.Transparent;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] 
{ this.Main,this.ReportsTSM });
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.menuStrip1.Size = new System.Drawing.Size(589, 24);
this.menuStrip1.TabIndex = 10;
this.menuStrip1.Text = "menuStrip1";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.Controls.Add(this.menuStrip1);     
private System.Windows.Forms.MenuStrip menuStrip1;