IDesignerOptionService Interface
Assembly: System (in system.dll)
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. The GetOptionValue method retrieves the value of a specified option. The SetOptionValue method sets a specified value for a specified option.
The following code example demonstrates accessing the IDesignerOptionService to display the current values of the standard options.
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 (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
package IDesignerOptionServiceExample;
import System.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.ComponentModel.Design.*;
import System.Drawing.*;
import System.Data.*;
import System.Windows.Forms.*;
import System.Windows.Forms.Design.*;
// This control demonstrates retrieving the standard
// designer option service values in design mode.
public class IDesignerOptionServiceControl extends
System.Windows.Forms.UserControl
{
private IDesignerOptionService designerOptionService;
public IDesignerOptionServiceControl()
{
this.set_BackColor(Color.get_Beige());
this.set_Size(new Size(404, 135));
} //IDesignerOptionServiceControl
/** @property
*/
public System.ComponentModel.ISite get_Site()
{
return super.get_Site();
} //get_Site
/** @property
*/
public void set_Site(System.ComponentModel.ISite value)
{
super.set_Site(value);
// If siting component, attempt to obtain an IDesignerOptionService.
if (super.get_Site() != null) {
designerOptionService = ((IDesignerOptionService)
(this.GetService(IDesignerOptionService.class.ToType())));
}
} //set_Site
// Displays control information and current IDesignerOptionService
// values, if available.
protected void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
e.get_Graphics().DrawString("IDesignerOptionServiceControl", new
Font("Arial", 9), new SolidBrush(Color.get_Blue()), 4, 4);
if (this.get_DesignMode()) {
e.get_Graphics().DrawString("Currently in design mode",
new Font("Arial", 8), new SolidBrush(Color.get_Black()), 4, 18);
}
else {
e.get_Graphics().DrawString("Not in design mode. Cannot access"
+ " IDesignerOptionService.", new Font("Arial", 8),
new SolidBrush(Color.get_Red()), 4, 18);
}
if (super.get_Site() != null && designerOptionService != null) {
e.get_Graphics().DrawString("IDesignerOptionService provides "
+ " access to the table of option values listed when",
new Font("Arial", 8), new SolidBrush(Color.get_Black()),4,38);
e.get_Graphics().DrawString("the Windows Forms Designer\\General"
+ " tab of the Tools\\Options menu is selected.",
new Font("Arial", 8), new SolidBrush(Color.get_Black()), 4, 50);
e.get_Graphics().DrawString("Table of standard value names and "
+ " current values", new Font("Arial", 8), new SolidBrush(
Color.get_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.get_Graphics().DrawString("GridSize", new Font("Arial", 8),
new SolidBrush(Color.get_Black()), 4, ypos);
e.get_Graphics().DrawString(size.ToString(), new Font("Arial", 8),
new SolidBrush(Color.get_Black()), 100, ypos);
ypos += 12;
// Obtains and shows whether the design mode surface
// grid is enabled.
boolean showGrid = (System.Convert.ToBoolean((designerOptionService.
GetOptionValue("WindowsFormsDesigner\\General", "ShowGrid"))));
e.get_Graphics().DrawString("ShowGrid", new Font("Arial", 8),
new SolidBrush(Color.get_Black()), 4, ypos);
e.get_Graphics().DrawString(System.Convert.ToString(showGrid),
new Font("Arial", 8), new SolidBrush(Color.get_Black()),
100, ypos);
ypos += 12;
// Obtains and shows whether components should be aligned with the
// surface grid.
boolean snapToGrid = System.Convert.ToBoolean(
(designerOptionService.GetOptionValue(
"WindowsFormsDesigner\\General", "SnapToGrid")));
e.get_Graphics().DrawString("SnapToGrid", new Font("Arial", 8),
new SolidBrush(Color.get_Black()), 4, ypos);
e.get_Graphics().DrawString(System.Convert.ToString(snapToGrid),
new Font("Arial", 8), new SolidBrush(Color.get_Black()),
100, ypos);
}
} //OnPaint
} //IDesignerOptionServiceControl
Windows 98, Windows Server 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
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.