DesignerOptionService クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
デザイナーのオプションの値を取得および設定するために使用する基本クラスを提供します。
public ref class DesignerOptionService abstract : System::ComponentModel::Design::IDesignerOptionService
public abstract class DesignerOptionService : System.ComponentModel.Design.IDesignerOptionService
type DesignerOptionService = class
interface IDesignerOptionService
Public MustInherit Class DesignerOptionService
Implements IDesignerOptionService
- 継承
-
DesignerOptionService
- 派生
- 実装
例
次のコード例では、 にアクセスして DesignerOptionService 標準オプションの現在の値を表示する方法を示します。
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 designer actions are automatically opened.
pd = designerOptionSvc.Options.Properties["ObjectBoundSmartTagAutoShow"];
e.Graphics.DrawString("Automatically Open Designer Actions",
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);
}
}
}
}
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 (MyBase.Site IsNot 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 (MyBase.Site IsNot Nothing) AndAlso (designerOptionSvc IsNot 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 designer actions are automatically opened.
pd = designerOptionSvc.Options.Properties("ObjectBoundSmartTagAutoShow")
e.Graphics.DrawString("Automatically Open Designer Actions", _
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
注釈
クラスには DesignerOptionService 、オプションのコレクションが用意されています。 これらの各オプション コレクションには、さらにフィルター処理できるようにするインデクサーがあります。 各オプション コレクションには、独自のオプション セットと、そのすべての子オプションのロールアップが含まれています。 プロパティ間で名前付けの競合が発生した場合は、最も外側のオプション オブジェクトが優先されます。 次の ツール |Options ユーザー インターフェイス (UI) の構造は、最も外側のオプション オブジェクトがより重要であることを示しています。
WindowsFormsDesigner |一般
SnapToGrid
ShowGrid
GridSize
という名前service
の IDesignerOptionService を指定すると、 プロパティの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");
' Obtains and shows the size of the standard design-mode grid square.
Dim size As Size = CType(designerOptionService.GetOptionValue("WindowsFormsDesigner\General", "GridSize"), Size)
これは、別のページに移動 GridSize するまで機能します。 また、 IDesignerOptionService 検出メカニズムはありません。 渡す文字列がわからない場合、サービスはプロパティ値を見つけることができません。
クラスは、 DesignerOptionService これらの問題に対処します。 コレクションに対してクエリを実行でき、コレクションを展開可能としてマークする型コンバーターが オブジェクトに DesignerOptionService.DesignerOptionCollection 定義されています。 この型コンバーターを使用すると、デザイナー オプション サービス全体をプロパティ ウィンドウに渡し、サービスを視覚的に検査できます。
コンストラクター
DesignerOptionService() |
DesignerOptionService クラスの新しいインスタンスを初期化します。 |
プロパティ
Options |
このサービスのオプション コレクションを取得します。 |
メソッド
CreateOptionCollection(DesignerOptionService+DesignerOptionCollection, String, Object) |
名前を指定して新しい DesignerOptionService.DesignerOptionCollection を作成し、指定した親に追加します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
PopulateOptionCollection(DesignerOptionService+DesignerOptionCollection) | |
ShowDialog(DesignerOptionService+DesignerOptionCollection, Object) |
指定したオブジェクトのオプション ダイアログ ボックスを表示します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
IDesignerOptionService.GetOptionValue(String, String) |
パッケージで定義したオプションの値を取得します。 |
IDesignerOptionService.SetOptionValue(String, String, Object) |
パッケージで定義したオプションの値を設定します。 |
適用対象
こちらもご覧ください
.NET