カスタムコントロールのデザイン時動作 の履歴(No.1)
更新やりたいこと†
カスタムコントロールのデザイン時の動作をカスタマイズしたい。
具体的には、
- 配列プロパティをコレクションエディタで編集する
- ComponentDesigner / ControlDesigner を元に独自のデザイン時動作を行う
とりあえず関係ない部分も含めてメモ†
後で別のページに動かすかも。
リソースに埋め込んだカーソルを使う方法†
http://rararahp.cool.ne.jp/cgi-bin/lng/dotnet/dotnetlng.cgi?print+200212/02120004.txt
外部ファイルの中身を丸ごとリソースに埋め込んでおいて、 実行時に Stream として読み出すことができる。
カーソルを Stream から作成することができる。
この2つを組み合わせて、以下のようにする。
カーソルをリソースに埋め込む†
- カーソルは "MyCursor.cur" と言うファイルに入っている物とする
- プロジェクトに "MyCursor.cur" を追加する
- Properties/Resources.resx を開き、ソリューションエクスプローラから "MyCursor.cur" をドロップする
- できたアイコンは "MyCursor" という名前になるので、分かりやすいように "MyCursor.cur" に直しておく
プログラムから使う†
LANG:C# using System.Reflection; ... // ResourceName と言う名前のリソースをストリームとして開く Stream ResourceStream(string ResourceName) { Assembly asm = Assembly.GetExecutingAssembly(); return asm.GetManifestResourceStream(asm.GetName().Name + "." + ResourceName); } // リソースに CursorResourceName と言う名前で埋め込まれた // カーソルファイルを使ってカーソルを作成する Cursor LoadCursorFromResource(string CursorResourceName) { return new Cursor(ResourceStream(CursorResourceName)); } ... Cursor MyCursor= null; ... if(MyCursor==null) MyCursor= LoadCursorFromResource("Cursor.cur"); Cursor.Current= MyCursor;
Counter: 8468 (from 2010/06/03),
today: 1,
yesterday: 1