IDesignerOptionService 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供對設計工具選項的存取,這些選項位在 Visual Studio 開發環境中 [工具] 功能表的 [選項] 命令下。
public interface class IDesignerOptionService
public interface IDesignerOptionService
type IDesignerOptionService = interface
Public Interface IDesignerOptionService
- 衍生
範例
下列程式代碼範例示範如何存取 IDesignerOptionService 以顯示標準選項的目前值。
#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 Forms Designer 選項的值,這些選項列在Visual Studio開發環境的 [工具] 選單的 [選項] 命令所顯示的對話框中。 方法 GetOptionValue 會擷取指定選項的值。 方法 SetOptionValue 會設定指定選項的指定值。
方法
GetOptionValue(String, String) |
取得指定之 [Windows Form 設計工具] 選項的值。 |
SetOptionValue(String, String, Object) |
設定指定之 [Windows Form 設計工具] 選項的值。 |