Winform窗体设计器上的菜单及工具栏上的图标不见恢复解决方案

前段时间有朋友问我,他在设计窗体的时候由于资源文件未找到,

运行后发现窗口中的菜单栏上没有任何菜单项,工具栏上的图标按钮也都不见了,

遇到这种情况,不要急着把该窗体的资源文、设计文件和代码文件删除,否则又要从头开始,得不偿失。

这时,首先看自己的窗体资源文件是否缺少图标文件,打个比方对于窗体BrowseQuestion,

首先打开BrowseQuestion.resx文件,如果没有缺少图标文件,则打开BrowseQuestion.designer.cs文件,

打开窗体设计器自动生成的代码并展开,如下图所示:

展开窗体设计器自动生成的代码后,找到自己的menuStrip1(菜单栏)和toolStrip1(工具栏),

看是否缺少this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { ... ... });这样的代码,如下图所示:

如果缺少添加控件到菜单栏或工具栏的 *.Items.AddRange() 方法,则添加如上图矩形框所示的方法,

把自己的MenuStripItem,TooStripButton,ToolStripLabel(这些可以在该.designer.cs文件中找到,只是没有AddRange()进去)等添加进去,

保存后就可可以恢复到原来的样式。

时间: 2024-08-21 22:36:39

Winform窗体设计器上的菜单及工具栏上的图标不见恢复解决方案的相关文章

C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)

既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞定,让PropertyGrid显示Control的所有属性.可是这里显示的属性名是英文的.对于我们开发人员来说这无可厚非,我们也乐于接受.并且让PropertyGrid显示中文属性名,这对于我们开发人员的使用来说显得多此一举.可是,对于我这种类型的一个应用工具,英文属性名对于很多客户来说可能就很难懂

解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件,若是在项目开发前就准备好了这些组件,为项目如期交付提供了保证. 查询设计器 Query Designer  支持选择一个或多个数据库表,通过左右连接的方式构建查询结果,支持直接手写SQL语句设计查询,支持调用存储过程查询,支持用代码设计查询. 报表设计器 Report Designer 支持配置的

C#用DesignSurface实现一个简单的窗体设计器

System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Design.dll,否则会出现找不到DesignSurface的错误.  1         private void Form1_Load(object sender, EventArgs e) 2         { 3            //引用System.Deisgn.dll 4       

Windows 窗体设计器中的设计时错误

在用 VS.NET进行窗体设计的时候,经常会遇到这样的问题:我们需要在构造函数或者在OnLoad事件中进行自己的一些初始化操作,比如连接一个数据库.调用一个资源文件或者后期绑定一个组件.如果代码通过编译,在运行时会执行得相当如你所愿.然而,当我们用窗体设计器打开这样一个窗体或者继承的窗体,IDE环境会抛出非常令人不愉快的异常,比如(NullReferenceException ). 究其原因,主要是窗体设计器在载入窗体时会自动初始化该对象,自动执行诸如构造函数.OnLoad方法和Initiali

窗体设计器出不来

今天发现个问题,C# WINFORM.如果在窗体类上写一些代码.那么双击FORM就出不来设计器了.FORM变成普通类了.去掉之后正常了 在form1窗体上面写了一个类A.结果图标变成C#类的.如果双击它,打开的是类,而不是窗体设计视图.按shift+F7也无效 去掉这些代码之后,正常了.双击打开设计视图了

C# 报表设计器 (winform 设计端)开发与实现生成网页的HTML报表 开放源码及调试

记得2010年之前,公司的项目基本上都要用到报表,以前我们常用的方法就是针对客户的需求来定制化开发(基本上是死写代码)来实现,经常导致项目经常性的延期,因为客户的需求经常会变化,随着用户的使用认知度的提高,对报表的要求越来越高,导致程序员不停的修改代码来实现,效率不高.结束遥遥无期...非常的痛苦:当然市面上有很多报表开发工具可以实现,但是针对小公司来说采购一套这样的系统的成本也非常的高,所以我们决定自己来开发一套像目前的润乾.FineReport 这样的报表设计器,来实现快速的报表设计制作.

XForms设计器-----概述

1. 概述 GForms Designer 是一款所见即所得设计工具,使用该工具您能够从选项选用板中拖放控件来构建展现页面. GForms设计器支持中文及英文两种语言,具体所使用的语言由用户的电脑配置环境决定. 2. GForms透视图 为了更好的使用GForms设计器,请在打开Eclipse开发平台后,在右上角切换到GForms透视图: 请在透视图列表中选择"GForms",将工作台切换到如下布局: 3. 创建 3.1. 创建GForms工程 在GForms视图下,可以直接通过菜单:

XForms 设计器使用手册

1. 概述 Designer 是一款所见即所得设计工具,使用该工具您能够从选项选用板中拖放控件来构建展现页面. GForms设计器支持中文及英文两种语言,具体所使用的语言由用户的电脑配置环境决定. 2. GForms透视图 为了更好的使用GForms设计器,请在打开Eclipse开发平台后,在右上角切换到GForms透视图: 请在透视图列表中选择"GForms",将工作台切换到如下布局: 3. 创建 3.1. 创建GForms工程 在GForms视图下,可以直接通过菜单:Fileàne

在插件式应用程序中,实现对菜单,工具栏按钮的 完全解耦及状态控制

之前承诺会对 Winform IDE,WPF 客服程序的开发进行进一步的分解记录,很抱歉一直没有太多时间认真梳理. 本篇博客抽取了这两个应用程序的一个共通功能的实现方法进行说明,即在插件式应用程序中,对菜单及工具栏的控制. 对于复杂的应用程序开发,我们可能会将程序的功能进行分解,模块化,插件化:那么如何在应用程序的宿主中,向插件提供统一的菜单,工具栏注册,更新,销毁机制呢?以及如何做到UI无关的彻底解耦合? 看两个例子: 基于 Winform 的插件式应用程序: http://www.cnblo