惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

博客园 - bluealarm

IIS7中的站点、应用程序和虚拟目录详细介绍 (转) svn提交时强制添加注释 (转) 通过IIS调试ASP.NET项目 当前标识(IIS APPPOOL\DefaultWebSite)没有对“C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files“的写访问权限 - bluealarm (转)WPF控件开源资源 RDLC导出到EXCEL错误 C#编写客户端AcitveX控件 修改SQLServerExpress的登录模式 通过批处理文件(.bat)执行.sql文件 VS2008找不到导出模板 代码生成相关工具及技术 开源框架项目列表 C# byte数组常用扩展浅析(转) 已处理证书链,但是在不受信任提供程序信任的根证书中终止。 压缩数据库 清理SQL Server数据库日志的两种方法 SQL Server数据库文件恢复技术 WCF客户端链接服务超时--客户端close ASP.net中的几个概念 - bluealarm - 博客园
visual 继承当前被禁用,因为基类引用设备特定的组件或包含 p...
bluealarm · 2012-04-26 · via 博客园 - bluealarm

Visual Studio(C#.net)开发Wince设备程序的时候,自定义的控件在设计时会出现如题的问题。更奇怪的问题就是一开始没有这样的问题,但对控件进行了某些功能的扩展而增加了代码,或者添加了新的控件以后,就出现了这样的问题,那么这个问题造成的原因是什么呢?又可以通过什么方法解决呢?以下摘用两段文字进行说明。

引自MSDN http://msdn.microsoft.com/zh-cn/library/ms228851.aspx

该消息的全文如下:

因为基控件有设备特定的控件,所以当前禁用 Visual 继承。

当基控件或基窗体具有设备特定的控件或组件时,托管项目中可能出现该消息。

可以导致这种状态的情况包括以下几种:

  • 继 承窗体的父窗体或继承用户控件的父控件包含设备特定的控件。在这种情况下,无法看到继承窗体或继承用户控件的设计器。

  • 窗 体或用户控件包含设备特定的控件,此控件从另一个窗体或用户控件继承。在这种情况下,无法看到继承窗体或继承用户控件的设计器。

  • 项 目引用设备特定的程序集,如 Microsoft.WindowsCE.Forms.dll。

  • 项目或项目引用的程序集包 括平台调用。如果您能够确定不会在设计时执行平台调用,则通过将 DesktopCompatible(true) 属性放置在父窗体或父用户控件中,可以安全地启用可视继承。

引自csdn博客 http://blog.csdn.net/sohighthesky/archive/2009/06/07/4249129.aspx

当自定义控件所在的dll中出现了DllImport 属性时候,自定义类型的控件属性就不能正常显示在属性窗口了

通过将 DesktopCompatible(true) 属性放置在父窗体或父用户控件中,可以安全地启用可视继承

先在项目中添加一个“设计时属性文件”默认名为DesignTimeAttributes1.xmta

然后在其中添加如下节点

<Class Name="SmartDeviceProject1.Form1">  

<DesktopCompatible>true</DesktopCompatible>  

</Class>  

SmartDeviceProject1.Form1为被继承的类名,要包括namespace部分。

ok,这样应该就能解决问题了

如果自己写的控件类,需要在设计视图中显示内容也可以通过在此文件中添加如下节点:

<Class Name="ImageButton">  

  <DesktopCompatible>true</DesktopCompatible>  

  <Property Name="Size">  

  <DefaultValue>  

  <Type>System.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutralPublicKeyToken=b03f5f7f11d50a3a</Type>  

   <Value>16, 16</Value>  

  </DefaultValue>  

  </Property>  

</Class>  

这里ImageButton为控件的类名,要包括namespace部分。