DOBON.NETプログラミング道掲示板

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク ファイル一覧 検索 過去ログ

ツリー一括表示

Nomalアイコン プロパティウィンドウのカスタマイズ /masa (17/05/21(Sun) 16:23) #33626
Nomalアイコン Re[1]: プロパティウィンドウのカスタマイズ /魔界の仮面弁士 (17/05/22(Mon) 10:04) #33628
  └Nomalアイコン Re[2]: プロパティウィンドウのカスタマイズ /masa (17/05/28(Sun) 23:49) #33629 解決済み!


親記事 / ▼[ 33628 ]
■33626 / 親階層)  プロパティウィンドウのカスタマイズ
□投稿者/ masa 一般人(1回)-(2017/05/21(Sun) 16:23:05)
  • アイコン環境/言語:[C#] 
    分類:[.NET] 

    こんにちは。
    C#にてWindowsフォームアプリケーション開発を行っております。

    デザインモードのプロパティウィンドウにて、Colorのプロパティを変更する際に
    カスタム、Web、システムのタブが出現し、色を選択することができますが、
    タブを追加して、複数の指定した色の一覧を表示し、
    その中から色を選択できるようにすることは可能でしょうか?

    どなたかご存知の方がいらっしゃいましたらご回答いただけると幸いです。
    よろしくお願い致します。
違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 33626 ] / ▼[ 33629 ]
■33628 / 1階層)  Re[1]: プロパティウィンドウのカスタマイズ
□投稿者/ 魔界の仮面弁士 大御所(1070回)-(2017/05/22(Mon) 10:04:47)
  • アイコンNo33626に返信(masaさんの記事)
    > デザインモードのプロパティウィンドウにて、Colorのプロパティを変更する際に
    > カスタム、Web、システムのタブが出現し、色を選択することができますが、
    > タブを追加して、複数の指定した色の一覧を表示し、
    > その中から色を選択できるようにすることは可能でしょうか?

    自作 UserControl の「Color 型を返すプロパティ」を拡張する場合は、

    (1) System.Drawing.Design.DLL を参照設定する。

    (2) System.Drawing.Design.ColorEditor クラスもしくは
      System.Drawing.Design.UITypeEditor クラスを継承して
      第 2 引数 IServiceProvider provider の DropDownControl メソッドで
      カスタマイズした色選択タブを返すようにする

    (3) 2 で作成したエディタークラスを、
      自作コントロールの Color 系プロパティに、EditorAttribute で割り当てる。
    [Editor(typeof(自作ColorEditor), typeof(System.Drawing.Design.UITypeEditor))]
    public override Color ShadowColor { … }


    という手順になると思います。


    なお上記 (3) は、「自作クラスの Color 型を返すプロパティ」を拡張する
    方法ですが、もしもそれを 「既存のクラスの Color 型を返すプロパティ」を
    拡張する方法に差し替えたいのであれば、この部分を中継するために
    IExtenderProvider インターフェイスと ProvidePropertyAttribute を
    用いた拡張プロバイダークラスを用意してみては如何でしょう。


    以下、参考情報として

    https://msdn.microsoft.com/ja-jp/library/aa302326.aspx
    [.NET Framework の PropertyGrid コントロールの高度な活用]


    https://www.codeproject.com/Articles/14823/ColorEditorEx
    [ColorEditorEx - An extension to the ColorEditor to support translucent colors]


    https://msdn.microsoft.com/magazine/msdn-magazine-issues
    [MSDN Magazine July 2003]-[Features]-[GDI+: A Primer on Building a Color Picker User Control with GDI+ in Visual Basic .NET or C#]


    https://msdn.microsoft.com/ja-jp/library/d6c1xa43%28vs.120%29.aspx
    [方法 : 拡張プロバイダーを実装する]

違反を報告
[ 親 33626 / □ Tree ] 返信 削除キー/

▲[ 33628 ] / 返信無し
■33629 / 2階層)  Re[2]: プロパティウィンドウのカスタマイズ
□投稿者/ masa 一般人(2回)-(2017/05/28(Sun) 23:49:14)
  • アイコン魔界の仮面弁士さん、早速のご回答ありがとうございます。

    No33628に返信(魔界の仮面弁士さんの記事)
    > 自作 UserControl の「Color 型を返すプロパティ」を拡張する場合

    まさに私が求めていた情報でした。
    詳しい情報を教えてくださり、ありがとうございました。
解決済み!
違反を報告
[ 親 33626 / □ Tree ] 返信 削除キー/


Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク ファイル一覧 検索 過去ログ

- Child Tree -