チュートリアル : 簡単な属性をユーザー コントロールに追加する
更新 : 2007 年 11 月
このチュートリアルでは、デバイス プロジェクトのユーザー コントロールに属性を追加する方法について説明します。特に、デザイン時に、コントロールのプロパティを非表示にするカスタム属性を追加します。この機能は、プロパティ値の変更を防ぐときに便利です。
このプロセスはデスクトップのプロセスと似ていますが、デバイス プロジェクトではこの情報を別のメタデータ ファイル (.xmta) に格納します。
メモ : |
---|
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。 |
このチュートリアルは、[Visual C# 開発設定] を使用して記述されています。
UserControl1 クラスを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[プロジェクトの種類] ペインの [Visual C#] を展開し、[スマート デバイス] をクリックします。
[テンプレート] ペインの [スマート デバイス プロジェクト] をクリックします。
[プロジェクト名] ボックスに「MyControlLibrary」と入力し、[OK] をクリックします。
[新しいスマート デバイス プロジェクトの追加] ダイアログ ボックスで、[ターゲット プラットフォーム] ボックスの一覧の [Pocket PC 2003] をクリックします。次に、[.NET Compact Framework] ボックスの一覧の [.NET Compact Framework Version 2.0] をクリックします。さらに、[テンプレート] ペインの [コントロール ライブラリ] をクリックし、[OK] をクリックします。
デザイナが開き、新しいユーザー コントロール クラスを表す四角形が表示されます。
プロパティを追加するには
ソリューション エクスプローラで、[UserControl1.cs] を右クリックし、[クラス ダイアグラムで表示] をクリックします。
クラス ダイアグラムを表す角の丸い四角形が開きます。
クラス ダイアグラムを右クリックし、[クラスの詳細情報] をクリックします。
[クラスの詳細] ウィンドウの [プロパティ] セクションに表示される [<プロパティの追加>] プロンプトで、「MyProperty」と入力します。
[型] 列の [int] を [文字列] で置き換えます。
[MyProperty] 列の始めにあるアイコンを右クリックし、[プロパティ] をクリックします。
[カスタム属性] プロパティの値を指定するには、省略記号ボタン (...) をクリックして [カスタム属性] ダイアログ ボックスを開きます。
「Browsable(false)」と入力し、[OK] をクリックします。
ソリューション エクスプローラに、カスタム属性を含む、デザイン時属性の .xmta ファイル (DesignTimeAttributes.xmta) が表示されます。
コントロール ライブラリをビルドするには
ソリューション エクスプローラで [UserControl1.cs] を右クリックし、[コードの表示] をクリックします。
System.NotImplementedException をスローする行をコメント アウトし、get アクションとして、代わりに return ""; を挿入します。
[ビルド] メニューの [MyControlLibrary のビルド] をクリックします。
[MyProperty] がプロパティ ブラウザに表示されないことをテストするには
ソリューション エクスプローラで、[MyControlLibrary] を右クリックし、[追加] をポイントして、[新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[カテゴリ] ペインの [Windows フォーム] をクリックし、[テンプレート] ペインの [Windows フォーム] をクリックした後、[追加] をクリックします。
ツールボックスから、フォームに [UserControl1] をドラッグします。
フォームのユーザー コントロール イメージを右クリックし、[プロパティ] をクリックします。
[MyProperty] は [プロパティ] ブラウザに表示されません。
ソリューション エクスプローラで .xmta ファイルをダブルクリックし、false を true に置き換えます。
上記の手順を繰り返して、[プロパティ] グリッドを表示します。今度は [MyProperty] が表示されます。