DesignerOptionService クラス
アセンブリ: System (system.dll 内)


DesignerOptionService クラスは、オプションのコレクションを提供します。これらのオプションの各コレクションには、コレクションにさらにフィルタをかけることができるインデクサが用意されています。各オプション コレクションは、その子オプションすべてのロールアップだけでなく、独自のオプション セットも格納します。プロパティ間で名前の競合が発生した場合、最も外側のオプション オブジェクトが優先されます。次の [ツール] の [オプション] ユーザー インターフェイス (UI) 構造は、最も外側のオプション オブジェクトが持つ高い重要性について示しています。
WindowsFormsDesigner | General
service という名前の IDesignerOptionService の場合、GridSize プロパティの値を取得するには、次の呼び出しを行います。
' Obtains and shows the size of the standard design-mode grid square. Dim size As Size = CType(designerOptionService.GetOptionValue("WindowsFormsDesigner\General", "GridSize"), Size)
// Obtains and shows the size of the standard design-mode grid square. Size size = (Size)designerOptionService.GetOptionValue("WindowsFormsDesigner\\General", "GridSize");
// Obtains and shows the size of the standard design-mode grid square. System::Drawing::Size size = *dynamic_cast<System::Drawing::Size^>(designerOptionService->GetOptionValue( "WindowsFormsDesigner\\General", "GridSize" ));
// Obtains and shows the size of the standard design-mode // grid square. Size size = ((Size)(designerOptionService.GetOptionValue( "WindowsFormsDesigner\\General", "GridSize")));
GridSize を別のページに移動させない限り、これで値を取得できます。また、IDesignerOptionService には探索機構が用意されていません。渡す文字列がわからない場合、サービスはプロパティ値を見つけることができません。
DesignerOptionService クラスは、このような問題に対応します。コレクションに問い合わせることができ、コレクションを展開可能なコレクションとしてマークする DesignerOptionService.DesignerOptionCollection オブジェクトで定義されている型コンバータが存在します。この型コンバータを使用すると、デザイナ オプション サービス全体をプロパティ ウィンドウに渡して、このサービスを視覚的に検査できます。
![]() |
---|
このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。 |

DesignerOptionService にアクセスして標準オプションの現在の値を表示するコード例を次に示します。
Imports System Imports System.Collections Imports System.ComponentModel Imports System.ComponentModel.Design Imports System.Drawing Imports System.Data Imports System.Windows.Forms Imports System.Windows.Forms.Design ' This control demonstrates retrieving the standard ' designer option service values in design mode. Public Class DesignerOptionServiceControl Inherits System.Windows.Forms.UserControl Private designerOptionSvc As DesignerOptionService Public Sub New() Me.BackColor = Color.Beige Me.Size = New Size(404, 135) End Sub Public Overrides Property Site() As System.ComponentModel.ISite Get Return MyBase.Site End Get Set MyBase.Site = value ' If siting component, attempt to obtain an DesignerOptionService. If Not (MyBase.Site Is Nothing) Then designerOptionSvc = CType(Me.GetService(GetType(DesignerOptionService)), DesignerOptionService) End If End Set End Property ' Displays control information and current DesignerOptionService ' values, if available. Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs) e.Graphics.DrawString("DesignerOptionServiceControl", _ New Font("Arial", 9), _ New SolidBrush(Color.Blue), 4, 4) If Me.DesignMode Then e.Graphics.DrawString("Currently in design mode", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, 18) Else e.Graphics.DrawString("Not in design mode. Cannot access DesignerOptionService.", _ New Font("Arial", 8), _ New SolidBrush(Color.Red), 4, 18) End If If Not (MyBase.Site Is Nothing) AndAlso Not (designerOptionSvc Is Nothing) Then e.Graphics.DrawString("DesignerOptionService provides access to the table of option values listed when", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, 38) e.Graphics.DrawString("the Windows Forms Designer\General tab of the Tools\Options menu is selected.", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, 50) e.Graphics.DrawString("Table of standard value names and current values", _ New Font("Arial", 8), _ New SolidBrush(Color.Red), 4, 76) ' Displays a table of the standard value names and current values. Dim ypos As Integer = 90 ' Obtains and shows the size of the standard design-mode grid square. Dim pd As PropertyDescriptor pd = designerOptionSvc.Options.Properties("GridSize") e.Graphics.DrawString("GridSize", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Uncomment the following code to demonstrate that this ' alternate syntax works the same as the previous syntax. 'pd = designerOptionSvc.Options["WindowsFormsDesigner"].Properties["GridSize"]; 'e.Graphics.DrawString("GridSize", ' new Font("Arial", 8), ' new SolidBrush(Color.Black), 4, ypos); 'e.Graphics.DrawString(pd.GetValue(null).ToString(), ' new Font("Arial", 8), ' new SolidBrush(Color.Black), 200, ypos); 'ypos += 12; 'pd = designerOptionSvc.Options["WindowsFormsDesigner"]["General"].Properties["GridSize"]; 'e.Graphics.DrawString("GridSize", ' new Font("Arial", 8), ' new SolidBrush(Color.Black), 4, ypos); 'e.Graphics.DrawString(pd.GetValue(null).ToString(), ' new Font("Arial", 8), ' new SolidBrush(Color.Black), 200, ypos); 'ypos += 12; ' Obtains and shows whether the design mode surface grid is enabled. pd = designerOptionSvc.Options.Properties("ShowGrid") e.Graphics.DrawString("ShowGrid", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Obtains and shows whether components should be aligned with the surface grid. pd = designerOptionSvc.Options.Properties("SnapToGrid") e.Graphics.DrawString("SnapToGrid", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Obtains and shows which layout mode is selected. pd = designerOptionSvc.Options.Properties("LayoutMode") e.Graphics.DrawString("LayoutMode", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Obtains and shows whether the Toolbox is automatoically ' populated with custom controls and components. pd = designerOptionSvc.Options.Properties("AutoToolboxPopulate") e.Graphics.DrawString("AutoToolboxPopulate", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Obtains and shows whether the component cache is used. pd = designerOptionSvc.Options.Properties("UseOptimizedCodeGeneration") e.Graphics.DrawString("Optimized Code Generation", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) ypos += 12 ' Obtains and shows whether smart tags are automatically opened. pd = designerOptionSvc.Options.Properties("ObjectBoundSmartTagAutoShow") e.Graphics.DrawString("Automatically Open Smart Tags", _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 4, ypos) e.Graphics.DrawString(pd.GetValue(Nothing).ToString(), _ New Font("Arial", 8), _ New SolidBrush(Color.Black), 200, ypos) End If End Sub End Class
using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Data; using System.Windows.Forms; using System.Windows.Forms.Design; namespace DesignerOptionServiceExample { // This control demonstrates retrieving the standard // designer option service values in design mode. public class DesignerOptionServiceControl : System.Windows.Forms.UserControl { private DesignerOptionService designerOptionSvc; public DesignerOptionServiceControl() { this.BackColor = Color.Beige; this.Size = new Size(404, 135); } public override System.ComponentModel.ISite Site { get { return base.Site; } set { base.Site = value; // If siting component, attempt to obtain an DesignerOptionService. if( base.Site != null ) designerOptionSvc = (DesignerOptionService)this.GetService(typeof(DesignerOptionService)); } } // Displays control information and current DesignerOptionService // values, if available. protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { e.Graphics.DrawString("DesignerOptionServiceControl", new Font("Arial", 9), new SolidBrush(Color.Blue), 4, 4); if( this.DesignMode ) e.Graphics.DrawString("Currently in design mode", new Font("Arial", 8), new SolidBrush(Color.Black), 4, 18); else e.Graphics.DrawString("Not in design mode. Cannot access DesignerOptionService.", new Font("Arial", 8), new SolidBrush(Color.Red), 4, 18); if( base.Site != null && designerOptionSvc != null ) { e.Graphics.DrawString("DesignerOptionService provides access to the table of option values listed when", new Font("Arial", 8), new SolidBrush(Color.Black), 4, 38); e.Graphics.DrawString("the Windows Forms Designer\\General tab of the Tools\\Options menu is selected.", new Font("Arial", 8), new SolidBrush(Color.Black), 4, 50); e.Graphics.DrawString("Table of standard value names and current values", new Font("Arial", 8), new SolidBrush(Color.Red), 4, 76); // Displays a table of the standard value names and current values. int ypos = 90; // Obtains and shows the size of the standard design-mode grid square. PropertyDescriptor pd; pd = designerOptionSvc.Options.Properties["GridSize"]; e.Graphics.DrawString("GridSize", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos += 12; // Uncomment the following code to demonstrate that this // alternate syntax works the same as the previous syntax. //pd = designerOptionSvc.Options["WindowsFormsDesigner"].Properties["GridSize"]; //e.Graphics.DrawString("GridSize", // new Font("Arial", 8), // new SolidBrush(Color.Black), 4, ypos); //e.Graphics.DrawString(pd.GetValue(null).ToString() , // new Font("Arial", 8), // new SolidBrush(Color.Black), 200, ypos); //ypos += 12; //pd = designerOptionSvc.Options["WindowsFormsDesigner"]["General"].Properties["GridSize"]; //e.Graphics.DrawString("GridSize", // new Font("Arial", 8), // new SolidBrush(Color.Black), 4, ypos); //e.Graphics.DrawString(pd.GetValue(null).ToString() , // new Font("Arial", 8), // new SolidBrush(Color.Black), 200, ypos); //ypos += 12; // Obtains and shows whether the design mode surface grid is enabled. pd = designerOptionSvc.Options.Properties["ShowGrid"]; e.Graphics.DrawString("ShowGrid", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos+=12; // Obtains and shows whether components should be aligned with the surface grid. pd = designerOptionSvc.Options.Properties["SnapToGrid"]; e.Graphics.DrawString("SnapToGrid", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos += 12; // Obtains and shows which layout mode is selected. pd = designerOptionSvc.Options.Properties["LayoutMode"]; e.Graphics.DrawString("LayoutMode", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos += 12; // Obtains and shows whether the Toolbox is automatoically // populated with custom controls and components. pd = designerOptionSvc.Options.Properties["AutoToolboxPopulate"]; e.Graphics.DrawString("AutoToolboxPopulate", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos += 12; // Obtains and shows whether the component cache is used. pd = designerOptionSvc.Options.Properties["UseOptimizedCodeGeneration"]; e.Graphics.DrawString("Optimized Code Generation", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); ypos += 12; // Obtains and shows whether smart tags are automatically opened. pd = designerOptionSvc.Options.Properties["ObjectBoundSmartTagAutoShow"]; e.Graphics.DrawString("Automatically Open Smart Tags", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos); e.Graphics.DrawString(pd.GetValue(null).ToString() , new Font("Arial", 8), new SolidBrush(Color.Black), 200, ypos); } } } }

System.ComponentModel.Design.DesignerOptionService
System.Windows.Forms.Design.WindowsFormsDesignerOptionService


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DesignerOptionService コンストラクタ
アセンブリ: System (system.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DesignerOptionService プロパティ
DesignerOptionService メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CreateOptionCollection | 名前を指定して新しい DesignerOptionService.DesignerOptionCollection を作成し、指定した親に追加します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | PopulateOptionCollection | DesignerOptionService.DesignerOptionCollection を設定します。 |
![]() | ShowDialog | 指定したオブジェクトのオプション ダイアログ ボックスを表示します。 |

名前 | 説明 | |
---|---|---|
![]() | System.ComponentModel.Design.IDesignerOptionService.GetOptionValue | パッケージで定義したオプションの値を取得します。 |
![]() | System.ComponentModel.Design.IDesignerOptionService.SetOptionValue | パッケージで定義したオプションの値を設定します。 |

DesignerOptionService メンバ
デザイナのオプションの値を取得および設定するために使用する基本クラスを提供します。
DesignerOptionService データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CreateOptionCollection | 名前を指定して新しい DesignerOptionService.DesignerOptionCollection を作成し、指定した親に追加します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | PopulateOptionCollection | DesignerOptionService.DesignerOptionCollection を設定します。 |
![]() | ShowDialog | 指定したオブジェクトのオプション ダイアログ ボックスを表示します。 |

名前 | 説明 | |
---|---|---|
![]() | System.ComponentModel.Design.IDesignerOptionService.GetOptionValue | パッケージで定義したオプションの値を取得します。 |
![]() | System.ComponentModel.Design.IDesignerOptionService.SetOptionValue | パッケージで定義したオプションの値を設定します。 |

- DesignerOptionServiceのページへのリンク