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

推荐订阅源

P
Proofpoint News Feed
WordPress大学
WordPress大学
S
Schneier on Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
AWS News Blog
AWS News Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
NISL@THU
NISL@THU
T
Tor Project blog
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
G
GRAHAM CLULEY
博客园_首页
K
Kaspersky official blog
GbyAI
GbyAI
P
Privacy & Cybersecurity Law Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
AI
AI
爱范儿
爱范儿
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
I
InfoQ
腾讯CDC
O
OpenAI News
F
Full Disclosure
P
Privacy International News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Webroot Blog
Webroot Blog
Forbes - Security
Forbes - Security
MyScale Blog
MyScale Blog
L
LangChain Blog
H
Help Net Security
C
CERT Recently Published Vulnerability Notes
C
Cisco Blogs
人人都是产品经理
人人都是产品经理
S
Security @ Cisco Blogs
T
Tenable Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic
博客园 - 三生石上(FineUI控件)
Attack and Defense Labs
Attack and Defense Labs
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 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/invoke(转)
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部分。