Reflector反编译.NET文件后manager,base.AutoScaleMode修复

http://blog.sina.cn/dpool/blog/s/blog_3f58d0a60102vvrq.html?type=-1
反编译后的工程文件用VS2010打开后,在打开窗体时会出现一系列错误提示:
第一种情况:
“设计器无法处理第 152 行的代码: base.AutoScaleMode = AutoScaleMode.Font; 方法“InitializeComponent”内的代码由设计器生成,不应手动修改。请移除任何更改,然后尝试重新打开设计器”。
解决方法就是:对所有System.Windows.Forms.命名空间里面的控件需要全命名空间的声明,例如里面上图的base.AutoScaleMode = AutoScaleMode.Font;就要改成base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 第二种情况:
“变量“manager”未声明或从未赋值。 ”
解决方法就是:本方法只限于在InitializeComponent中包含System.Resources.ResourceManager调用的窗体
1.资源文件格式转换,将.resources(二进制)文件转成.resx文件(XML) XP用C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin下 resgen.exe,WIN7用C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin CMD命令格式: resgen *.resources *.resx(.resx文件最好与窗体.cs文件同名)
2.将InitializeComponent方法中的对象manager替换为resources(没错,只替换变量名_,全部都换掉哦,最好的办法就是更改manager的申明)
3.将资源文件.resx放到窗体文件.cs相同的文件夹下。
4.将所有窗体(.cs)从工程中排除,再添加(这样可以省去将.resx文件映射到.csproj的过程)。

窗体设计器识别问题

需要把以下代码
ComponentResourceManager manager = new ComponentResourceManager(typeof(ClassName));
替换为
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClassName));
窗体设计器才能正常识别。

==========================
https://www.cnblogs.com/lonelyDog/archive/2012/02/16/2354407.html

specialFont.cs有个方法要访问“楷体_GB2312.ttf”资源,写法如下,却得到的是一个“null”百思不得其解,原来写错了:

String projectName = Assembly.GetExecutingAssembly().GetName().ToString();
Stream stmFont = Assembly.GetExecutingAssembly().GetManifestResourceStream(projectName+".Resources" +".楷体_GB2312.ttf");
应该写成一下:

String projectName = Assembly.GetExecutingAssembly().GetName().Name.ToString();
Stream stmFont = Assembly.GetExecutingAssembly().GetManifestResourceStream(projectName+".Resources" +".楷体_GB2312.ttf");
另外,“楷体_GB2312.ttf”的属性必须以 “嵌入的资源”作为资源文件。设置只需要在对应属性框设置就是了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值