CEの開発をVS2005で行っている際に、ビジュアル継承が無効になるとかなんとか。解決策を調べていたところ、OBReadLibNet.dll内でプラットフォーム呼び出し(P/Invoke)を使用しているため、ビジュアル継承が無効となっています。OBReadLibNet.dllはデザイン時にプラットフォーム呼び出しを行いません。 継承したフォーム上にコントロールを表示させるには、親フォームのデザイン時属性ファイル(DesignTimeAttributes1.xmta)にDesktopCompatible属性を”true”と追加設定し、ビジュアル継承を有効にしてください。
という記載があったが、デザイン時属性ファイルってなに?という状態。どうもプロジェクトの「新しい項目の追加」からデザイン時の属性ファイルを指定する事でテンプレートから追加できた。具体的な記載方法は下記。
<?xml version="1.0" encoding="utf-16"?>
<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
<Class Name="TestProject.FrmTest">
<DesktopCompatible>true</DesktopCompatible>
</Class>
</Classes>
Comments