IDesignerOptionService 接口

定义

提供对设计器选项的访问;在 Visual Studio 开发环境中,设计器选项位于“选项”命令下的“工具”菜单上。Provides access to the designer options located on the Tools menu under the Options command in the Visual Studio development environment.

public interface class IDesignerOptionService
public interface IDesignerOptionService
type IDesignerOptionService = interface
Public Interface IDesignerOptionService
派生

示例

下面的代码示例演示IDesignerOptionService如何访问以显示标准选项的当前值。The following code example demonstrates accessing the IDesignerOptionService to display the current values of the standard options.

#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 ref 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^ Site 
      {
         virtual System::ComponentModel::ISite^ get() override
         {
            return __super::Site;
         }

         virtual void set( System::ComponentModel::ISite^ value ) override
         {
            __super::Site = value;
            
            // If siting component, attempt to obtain an IDesignerOptionService.
            if ( __super::Site != nullptr )
                        designerOptionService = dynamic_cast<IDesignerOptionService^>(this->GetService( IDesignerOptionService::typeid ));
         }
      }

   protected:

      // Displays control information and current IDesignerOptionService 
      // values, if available.

      virtual void OnPaint( System::Windows::Forms::PaintEventArgs^ e ) override
      {
         e->Graphics->DrawString( "IDesignerOptionServiceControl", gcnew System::Drawing::Font( "Arial",9 ), gcnew SolidBrush( Color::Blue ), 4, 4 );
         if ( this->DesignMode )
                  e->Graphics->DrawString( "Currently in design mode", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, 18 );
         else
                  e->Graphics->DrawString( "Not in design mode. Cannot access IDesignerOptionService.", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Red ), 4, 18 );

         if ( __super::Site != nullptr && designerOptionService != nullptr )
         {
            e->Graphics->DrawString( "IDesignerOptionService provides access to the table of option values listed when", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, 38 );
            e->Graphics->DrawString( "the Windows Forms Designer\\General tab of the Tools\\Options menu is selected.", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, 50 );
            e->Graphics->DrawString( "Table of standard value names and current values", gcnew System::Drawing::Font( "Arial",8 ), gcnew 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( "WindowsFormsDesigner\\General", "GridSize" ));
            e->Graphics->DrawString( "GridSize", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, (float)ypos );
            e->Graphics->DrawString( size.ToString(), gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 100, (float)ypos );
            ypos += 12;

            // Obtains and shows whether the design mode surface grid is enabled.
            bool showGrid =  *dynamic_cast<bool^>(designerOptionService->GetOptionValue( "WindowsFormsDesigner\\General", "ShowGrid" ));
            e->Graphics->DrawString( "ShowGrid", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, (float)ypos );
            e->Graphics->DrawString( showGrid.ToString(), gcnew System::Drawing::Font( "Arial",8 ), gcnew 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^>(designerOptionService->GetOptionValue( "WindowsFormsDesigner\\General", "SnapToGrid" ));
            e->Graphics->DrawString( "SnapToGrid", gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 4, (float)ypos );
            e->Graphics->DrawString( snapToGrid.ToString(), gcnew System::Drawing::Font( "Arial",8 ), gcnew SolidBrush( Color::Black ), 100, (float)ypos );
         }
      }
   };
}
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.
        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);                
            }
        }
    }
}
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 (MyBase.Site IsNot Nothing) Then
                designerOptionService = CType(Me.GetService(GetType(IDesignerOptionService)), IDesignerOptionService)
            End If
        End Set
    End Property

    ' Displays control information and current IDesignerOptionService 
    ' values, if available.
    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 (MyBase.Site IsNot Nothing) AndAlso (designerOptionService IsNot 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

注解

IDesignerOptionService提供一个接口, 该接口可用于检索和更新 Windows 窗体设计器选项的值, 这些选项列在 Visual Studio 开发环境的 "工具" 菜单的 "选项" 命令所显示的对话框中。IDesignerOptionService provides an interface that can be used to retrieve and update the values of the Windows Forms Designer options, which are listed within the dialog displayed by the Options command of the Tools menu of the Visual Studio development environment. GetOptionValue方法检索指定选项的值。The GetOptionValue method retrieves the value of a specified option. SetOptionValue方法为指定选项设置指定的值。The SetOptionValue method sets a specified value for a specified option.

方法

GetOptionValue(String, String)

获取指定的 Windows 窗体设计器选项的值。Gets the value of the specified Windows Forms Designer option.

SetOptionValue(String, String, Object)

设置指定的 Windows 窗体设计器选项的值。Sets the value of the specified Windows Forms Designer option.

适用于

另请参阅