次の方法で共有


IDesignerOptionService インターフェイス

Visual Studio .NET 開発環境で [ツール] メニューの [オプション] コマンドにある各デザイナ オプションへのアクセスを提供します。

この型のすべてのメンバの一覧については、IDesignerOptionService メンバ を参照してください。

Public Interface IDesignerOptionService
[C#]
public interface IDesignerOptionService
[C++]
public __gc __interface IDesignerOptionService
[JScript]
public interface IDesignerOptionService

解説

IDesignerOptionService が提供するインターフェイスを使用して、 Windows Forms Designer オプションの値を取得して更新できます。これらのオプションは、Visual Studio .NET 開発環境の Tools メニューの Options コマンドで表示されるダイアログ内に表示されます。 GetOptionValue メソッドは、指定したオプションの値を取得します。 SetOptionValue メソッドは、指定したオプションの指定した値を設定します。

使用例

[Visual Basic, C#, C++] IDesignerOptionService にアクセスして標準オプションの現在の値を表示するコード例を次に示します。

 
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 IDesignerOptionServiceControl
    Inherits System.Windows.Forms.UserControl
    Private designerOptionService As IDesignerOptionService

    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(ByVal Value As System.ComponentModel.ISite)
            MyBase.Site = Value

            ' If siting component, attempt to obtain an IDesignerOptionService.
            If Not (MyBase.Site Is Nothing) Then
                designerOptionService = CType(Me.GetService(GetType(IDesignerOptionService)), IDesignerOptionService)
            End If
        End Set
    End Property

    ' Displays control information and current IDesignerOptionService 
    ' values, if available.
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        e.Graphics.DrawString("IDesignerOptionServiceControl", 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 IDesignerOptionService.", New Font("Arial", 8), New SolidBrush(Color.Red), 4, 18)
        End If
        If Not (MyBase.Site Is Nothing) AndAlso Not (designerOptionService Is Nothing) Then
            e.Graphics.DrawString("IDesignerOptionService 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 size As Size = CType(designerOptionService.GetOptionValue("WindowsFormsDesigner\General", "GridSize"), Size)
            e.Graphics.DrawString("GridSize", New Font("Arial", 8), New SolidBrush(Color.Black), 4, ypos)
            e.Graphics.DrawString(size.ToString(), New Font("Arial", 8), New SolidBrush(Color.Black), 100, ypos)
            ypos += 12

            ' Obtaisn and shows whether the design mode surface grid is enabled.
            Dim showGrid As Boolean = CBool(designerOptionService.GetOptionValue("WindowsFormsDesigner\General", "ShowGrid"))
            e.Graphics.DrawString("ShowGrid", New Font("Arial", 8), New SolidBrush(Color.Black), 4, ypos)
            e.Graphics.DrawString(showGrid.ToString(), New Font("Arial", 8), New SolidBrush(Color.Black), 100, ypos)
            ypos += 12

            ' Obtains and shows whether components should be aligned with the surface grid.
            Dim snapToGrid As Boolean = CBool(designerOptionService.GetOptionValue("WindowsFormsDesigner\General", "SnapToGrid"))
            e.Graphics.DrawString("SnapToGrid", New Font("Arial", 8), New SolidBrush(Color.Black), 4, ypos)
            e.Graphics.DrawString(snapToGrid.ToString(), New Font("Arial", 8), New SolidBrush(Color.Black), 100, ypos)
        End If
    End Sub

End Class

[C#] 
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 IDesignerOptionServiceExample
{
    // This control demonstrates retrieving the standard 
    // designer option service values in design mode.
    public class IDesignerOptionServiceControl : System.Windows.Forms.UserControl
    {        
        private IDesignerOptionService designerOptionService;

        public IDesignerOptionServiceControl()
        {
            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 IDesignerOptionService.
                if( base.Site != null )                            
                    designerOptionService = (IDesignerOptionService)this.GetService(typeof(IDesignerOptionService));                                   
            }
        }

        // Displays control information and current IDesignerOptionService 
        // values, if available.
        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            e.Graphics.DrawString("IDesignerOptionServiceControl", 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 IDesignerOptionService.", new Font("Arial", 8), new SolidBrush(Color.Red), 4, 18);
            
            if( base.Site != null && designerOptionService != null )
            {
                e.Graphics.DrawString("IDesignerOptionService 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.
                Size size = (Size)designerOptionService.GetOptionValue("WindowsFormsDesigner\\General", "GridSize");
                e.Graphics.DrawString("GridSize", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos);
                e.Graphics.DrawString(size.ToString(), new Font("Arial", 8), new SolidBrush(Color.Black), 100, ypos);
                ypos+=12;
                
                // Obtains and shows whether the design mode surface grid is enabled.
                bool showGrid = (bool)designerOptionService.GetOptionValue("WindowsFormsDesigner\\General", "ShowGrid");
                e.Graphics.DrawString("ShowGrid", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos);
                e.Graphics.DrawString(showGrid.ToString(), new Font("Arial", 8), new SolidBrush(Color.Black), 100, ypos);
                ypos+=12;
                
                // Obtains and shows whether components should be aligned with the surface grid.
                bool snapToGrid = (bool)designerOptionService.GetOptionValue("WindowsFormsDesigner\\General", "SnapToGrid");
                e.Graphics.DrawString("SnapToGrid", new Font("Arial", 8), new SolidBrush(Color.Black), 4, ypos);
                e.Graphics.DrawString(snapToGrid.ToString(), new Font("Arial", 8), new SolidBrush(Color.Black), 100, ypos);                
            }
        }
    }
}

[C++] 
#using <mscorlib.dll>
#using <System.Windows.Forms.dll>
#using <System.Data.dll>
#using <System.Drawing.dll>
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Data;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;

namespace IDesignerOptionServiceExample
{
    // This control demonstrates retrieving the standard 
    // designer option service values in design mode.
public __gc class IDesignerOptionServiceControl : public System::Windows::Forms::UserControl
{        
private:
    IDesignerOptionService* designerOptionService;

public:
    IDesignerOptionServiceControl()
    {
        this->BackColor = Color::Beige;
        this->Size = System::Drawing::Size(404, 135);
    }

    __property System::ComponentModel::ISite* get_Site()
    {
        return UserControl::get_Site();
    }
    __property void set_Site( System::ComponentModel::ISite* value )
    {
        UserControl::set_Site( value );

        // If siting component, attempt to obtain an IDesignerOptionService.
        if( UserControl::Site != 0 )                            
            designerOptionService = dynamic_cast<IDesignerOptionService*>(this->GetService(__typeof(IDesignerOptionService)));                                   
    }


    // Displays control information and current IDesignerOptionService 
    // values, if available.
protected:
    [System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name=S"FullTrust")] 
    void OnPaint(System::Windows::Forms::PaintEventArgs* e)
    {
        e->Graphics->DrawString(S"IDesignerOptionServiceControl", new System::Drawing::Font(S"Arial", 9), new SolidBrush(Color::Blue), 4, 4);
        if( this->DesignMode )
            e->Graphics->DrawString(S"Currently in design mode", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, 18);
        else
            e->Graphics->DrawString(S"Not in design mode. Cannot access IDesignerOptionService.", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Red), 4, 18);

        if( UserControl::Site != 0 && designerOptionService != 0 )
        {
            e->Graphics->DrawString(S"IDesignerOptionService provides access to the table of option values listed when", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, 38);
            e->Graphics->DrawString(S"the Windows Forms Designer\\General tab of the Tools\\Options menu is selected.", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, 50);                

            e->Graphics->DrawString(S"Table of standard value names and current values", new System::Drawing::Font(S"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.
            System::Drawing::Size size = *dynamic_cast<System::Drawing::Size*>(designerOptionService->GetOptionValue(S"WindowsFormsDesigner\\General", S"GridSize"));
            e->Graphics->DrawString(S"GridSize", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, (float)ypos);
            e->Graphics->DrawString(size.ToString(), new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 100, (float)ypos);
            ypos+=12;

            // Obtains and shows whether the design mode surface grid is enabled.
            bool showGrid = *dynamic_cast<bool __gc *>(designerOptionService->GetOptionValue(S"WindowsFormsDesigner\\General", S"ShowGrid"));
            e->Graphics->DrawString(S"ShowGrid", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, (float)ypos);
            e->Graphics->DrawString(showGrid.ToString(), new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 100, (float)ypos);
            ypos+=12;

            // Obtains and shows whether components should be aligned with the surface grid.
            bool snapToGrid = *dynamic_cast<bool __gc*>(designerOptionService->GetOptionValue(S"WindowsFormsDesigner\\General", S"SnapToGrid"));
            e->Graphics->DrawString(S"SnapToGrid", new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 4, (float)ypos);
            e->Graphics->DrawString(snapToGrid.ToString(), new System::Drawing::Font(S"Arial", 8), new SolidBrush(Color::Black), 100, (float)ypos);                
        }
    }
};
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.ComponentModel.Design

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

参照

IDesignerOptionService メンバ | System.ComponentModel.Design 名前空間 | IDesigner