“designer.cs” 怎么自己变了???

sswp7 2014-08-07 04:58:25

因为软件要在 PC和 WinCE上运行,“窗体文件” 是 PC(.net 3.5) 和 WinCE (“.NET Compact Framework 2.0”) 共用的 。这样只要修改一个,另一个项目中的窗体文件就会自动变化。

原来“designer.cs” 是这样写的。(ListView 只写出其中的一部分)


this.lvwTable.Dock = System.Windows.Forms.DockStyle.Left;
listViewItem5.Text = "接口列表";
listViewItem6.Text = "设备列表";
listViewItem7.Text = "表具信息列表";
listViewItem8.Text = "服务器列表";
this.lvwTable.Items.Add(listViewItem5);
this.lvwTable.Items.Add(listViewItem6);
this.lvwTable.Items.Add(listViewItem7);
this.lvwTable.Items.Add(listViewItem8);
this.lvwTable.Location = new System.Drawing.Point(0, 0);
this.lvwTable.Name = "lvwTable";
this.lvwTable.Size = new System.Drawing.Size(115, 455);
this.lvwTable.TabIndex = 0;
this.lvwTable.View = System.Windows.Forms.View.List;
this.lvwTable.SelectedIndexChanged += new System.EventHandler(this.lvwTable_SelectedIndexChanged);

这种写法 ".net3.5"(PC) 和 “.NET Compact Framework 2.0”(WinCE) 都支持。

不知道为什么,窗体的“designer.cs” 变成了下面这样:



System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem();
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem();
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem();
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem();
this.lvwTable = new System.Windows.Forms.ListView();
this.panel1 = new System.Windows.Forms.Panel();
this.btnRefresh = new System.Windows.Forms.Button();
this.btnDel = new System.Windows.Forms.Button();
this.btnEdit = new System.Windows.Forms.Button();
this.btnAdd = new System.Windows.Forms.Button();
this.lbTable = new System.Windows.Forms.Label();
this.lvwInfo = new System.Windows.Forms.ListView();
this.panel1.SuspendLayout();
this.SuspendLayout();

this.lvwTable.Dock = System.Windows.Forms.DockStyle.Left;
this.lvwTable.Items.AddRange[/b](new System.Windows.Forms.ListViewItem[] {
listViewItem5,
listViewItem6,
listViewItem7,
listViewItem8});
this.lvwTable.Location = new System.Drawing.Point(0, 0);
this.lvwTable.Name = "lvwTable";
this.lvwTable.Size = new System.Drawing.Size(115, 455);
this.lvwTable.TabIndex = 0;
this.lvwTable
.[b]UseCompatibleStateImageBehavior = false;
this.lvwTable.View = System.Windows.Forms.View.List;
this.lvwTable.SelectedIndexChanged += new System.EventHandler(this.lvwTable_SelectedIndexChanged);

WinCE下提示错误信息:
错误 1 “System.Windows.Forms.ListView.ListViewItemCollection”不包含“AddRange”的定义,并且找不到可接受类型为“System.Windows.Forms.ListView.ListViewItemCollection”的第一个参数的扩展方法“AddRange”(是否缺少 using 指令或程序集引用?) F:\同悦数据采集系统_Note20140807\Config\frmConfig.designer.cs 49 33 Config


错误 2 “System.Windows.Forms.ListView”不包含“UseCompatibleStateImageBehavior”的定义,并且找不到可接受类型为“System.Windows.Forms.ListView”的第一个参数的扩展方法“UseCompatibleStateImageBehavior”(是否缺少 using 指令或程序集引用?) F:\同悦数据采集系统_Note20140807\Config\frmConfig.designer.cs 58 27 Config

问题一:
原来窗体 可以被“WinCE”和"PC"共同使用,现在"WinCE"下用不了,是因为我在PC的项目方案(.net 3.5)中修改了窗体吗? 应该在WinCE项目下修改窗体,这样可以保证窗体可以共用对吗?


问题二:.net 3.5 兼容 “.NET Compact Framework 2.0” ,但反过来不一定兼容对吗?



...全文
291 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
starrycheng 2014-09-04
  • 打赏
  • 举报
回复
高版本兼容低版本。
漫天雪飞 2014-08-07
  • 打赏
  • 举报
回复
高版本兼容低版本。 低版本根本不知道高版本的某些东西
starrycheng 2014-08-07
  • 打赏
  • 举报
回复
.net 3.5 兼容 “.NET Compact Framework 2.0” ,反过来不一定兼容

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧