IUIService Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Разрешает взаимодействие с пользовательским интерфейсом объекта среды разработки, в котором размещается конструктор.
public interface class IUIService
[System.Runtime.InteropServices.Guid("06A9C74B-5E32-4561-BE73-381B37869F4F")]
public interface IUIService
[<System.Runtime.InteropServices.Guid("06A9C74B-5E32-4561-BE73-381B37869F4F")>]
type IUIService = interface
Public Interface IUIService
- Атрибуты
Примеры
В следующем примере кода создается конструктор, предоставляющий команды меню команд конструктора, вызывающие методы .IUIService Чтобы использовать этот пример, скомпилируйте пример кода в сборку и добавьте ссылку на сборку в приложении Windows Forms. При использовании Visual Studio IUIServiceExampleControl
автоматически добавляется на панель элементов. Добавление экземпляра IUIServiceExampleControl
объекта Form. Чтобы получить доступ к командам команд конструктора, вызывающим IUIService методы, щелкните правой кнопкой мыши область элемента управления или щелкните глиф смарт-тега элемента управления и выберите элемент на панели смарт-тегов.
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.Design.dll>
using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;
// Provides an example Form class used by the
// IUIServiceTestDesigner::showDialog method.
ref class ExampleForm: public System::Windows::Forms::Form
{
public:
ExampleForm()
{
this->Text = "Example Form";
System::Windows::Forms::Button^ okButton = gcnew System::Windows::Forms::Button;
okButton->Location = Point(this->Width - 70,this->Height - 70);
okButton->Size = System::Drawing::Size( 50, 20 );
okButton->Anchor = static_cast<AnchorStyles>(AnchorStyles::Right | AnchorStyles::Bottom);
okButton->DialogResult = ::DialogResult::OK;
okButton->Text = "OK";
this->Controls->Add( okButton );
}
};
// This designer provides a set of designer verb shortcut menu commands
// that call methods of the IUIService.
public ref class IUIServiceTestDesigner: public System::Windows::Forms::Design::ControlDesigner
{
public:
IUIServiceTestDesigner(){}
property System::ComponentModel::Design::DesignerVerbCollection^ Verbs
{
// Provides a set of designer verb menu commands that call IUIService methods.
virtual System::ComponentModel::Design::DesignerVerbCollection^ get() override
{
array<DesignerVerb^>^temp0 = {gcnew DesignerVerb( "Show a test message box using the IUIService",gcnew EventHandler( this, &IUIServiceTestDesigner::showTestMessage ) ),gcnew DesignerVerb( "Show a test error message using the IUIService",gcnew EventHandler( this, &IUIServiceTestDesigner::showErrorMessage ) ),gcnew DesignerVerb( "Show an example Form using the IUIService",gcnew EventHandler( this, &IUIServiceTestDesigner::showDialog ) ),gcnew DesignerVerb( "Show the Task List tool window using the IUIService",gcnew EventHandler( this, &IUIServiceTestDesigner::showToolWindow ) )};
return gcnew DesignerVerbCollection( temp0 );
}
}
private:
// Displays a message box with message text, caption text
// and buttons of a particular MessageBoxButtons style.
void showTestMessage( Object^ /*sender*/, EventArgs^ /*e*/ )
{
IUIService^ UIservice = dynamic_cast<IUIService^>(this->GetService( System::Windows::Forms::Design::IUIService::typeid ));
if ( UIservice != nullptr )
UIservice->ShowMessage( "Test message", "Test caption", System::Windows::Forms::MessageBoxButtons::AbortRetryIgnore );
}
// Displays an error message box that displays the message
// contained within a specified exception.
void showErrorMessage( Object^ /*sender*/, EventArgs^ /*e*/ )
{
IUIService^ UIservice = dynamic_cast<IUIService^>(this->GetService( System::Windows::Forms::Design::IUIService::typeid ));
if ( UIservice != nullptr )
UIservice->ShowError( gcnew Exception( "This is a message in a test exception, displayed by the IUIService",gcnew ArgumentException( "Test inner exception" ) ) );
}
// Displays an example Windows Form using the
// IUIService::ShowDialog method.
void showDialog( Object^ /*sender*/, EventArgs^ /*e*/ )
{
IUIService^ UIservice = dynamic_cast<IUIService^>(this->GetService( System::Windows::Forms::Design::IUIService::typeid ));
if ( UIservice != nullptr )
UIservice->ShowDialog( gcnew ExampleForm );
}
// Displays a standard tool window window using the
// IUIService::ShowToolWindow method.
void showToolWindow( Object^ /*sender*/, EventArgs^ /*e*/ )
{
IUIService^ UIservice = dynamic_cast<IUIService^>(this->GetService( System::Windows::Forms::Design::IUIService::typeid ));
if ( UIservice != nullptr )
UIservice->ShowToolWindow( StandardToolWindows::TaskList );
}
};
// This control is associated with the IUIServiceTestDesigner,
// and can be sited in design mode to use the sample.
[DesignerAttribute(IUIServiceTestDesigner::typeid,IDesigner::typeid)]
ref class IUIServiceExampleControl: public UserControl
{
public:
IUIServiceExampleControl()
{
this->BackColor = Color::Beige;
this->Width = 255;
this->Height = 60;
}
protected:
virtual void OnPaint( System::Windows::Forms::PaintEventArgs^ e ) override
{
if ( this->DesignMode )
{
e->Graphics->DrawString( "Right-click this control to display a list of the", gcnew System::Drawing::Font( "Arial",9 ), Brushes::Black, 5, 6 );
e->Graphics->DrawString( "designer verb menu commands provided", gcnew System::Drawing::Font( "Arial",9 ), Brushes::Black, 5, 20 );
e->Graphics->DrawString( "by the IUIServiceTestDesigner.", gcnew System::Drawing::Font( "Arial",9 ), Brushes::Black, 5, 34 );
}
}
};
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;
// This designer provides a set of designer verb shortcut menu commands
// that call methods of the IUIService.
public class IUIServiceTestDesigner : System.Windows.Forms.Design.ControlDesigner
{
public IUIServiceTestDesigner()
{
}
// Provides a set of designer verb menu commands that call
// IUIService methods.
public override System.ComponentModel.Design.DesignerVerbCollection Verbs
{
get
{
return new DesignerVerbCollection( new DesignerVerb[]
{
new DesignerVerb(
"Show a test message box using the IUIService",
new EventHandler(this.showTestMessage)),
new DesignerVerb(
"Show a test error message using the IUIService",
new EventHandler(this.showErrorMessage)),
new DesignerVerb(
"Show an example Form using the IUIService",
new EventHandler(this.showDialog)),
new DesignerVerb(
"Show the Task List tool window using the IUIService",
new EventHandler(this.showToolWindow))
});
}
}
// Displays a message box with message text, caption text
// and buttons of a particular MessageBoxButtons style.
private void showTestMessage(object sender, EventArgs e)
{
IUIService UIservice = (IUIService)this.GetService(
typeof( System.Windows.Forms.Design.IUIService ) );
if( UIservice != null )
UIservice.ShowMessage("Test message", "Test caption",
System.Windows.Forms.MessageBoxButtons.AbortRetryIgnore);
}
// Displays an error message box that displays the message
// contained in a specified exception.
private void showErrorMessage(object sender, EventArgs e)
{
IUIService UIservice = (IUIService)this.GetService(
typeof( System.Windows.Forms.Design.IUIService ) );
if( UIservice != null )
UIservice.ShowError( new Exception(
"This is a message in a test exception, " +
"displayed by the IUIService",
new ArgumentException("Test inner exception")));
}
// Displays an example Windows Form using the
// IUIService.ShowDialog method.
private void showDialog(object sender, EventArgs e)
{
IUIService UIservice = (IUIService)this.GetService(
typeof( System.Windows.Forms.Design.IUIService ) );
if( UIservice != null )
UIservice.ShowDialog(new ExampleForm());
}
// Displays a standard tool window using the
// IUIService.ShowToolWindow method.
private void showToolWindow(object sender, EventArgs e)
{
IUIService UIservice = (IUIService)this.GetService(
typeof( System.Windows.Forms.Design.IUIService ) );
if( UIservice != null )
UIservice.ShowToolWindow(StandardToolWindows.TaskList);
}
}
// Provides an example Form class used by the
// IUIServiceTestDesigner.showDialog method.
internal class ExampleForm : System.Windows.Forms.Form
{
public ExampleForm()
{
this.Text = "Example Form";
System.Windows.Forms.Button okButton = new System.Windows.Forms.Button();
okButton.Location = new Point(this.Width-70, this.Height-70);
okButton.Size = new Size(50, 20);
okButton.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
okButton.DialogResult = DialogResult.OK;
okButton.Text = "OK";
this.Controls.Add( okButton );
}
}
// This control is associated with the IUIServiceTestDesigner,
// and can be sited in design mode to use the sample.
[DesignerAttribute(typeof(IUIServiceTestDesigner), typeof(IDesigner))]
public class IUIServiceExampleControl : UserControl
{
public IUIServiceExampleControl()
{
this.BackColor = Color.Beige;
this.Width = 255;
this.Height = 60;
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
if( this.DesignMode )
{
e.Graphics.DrawString(
"Right-click this control to display a list of the",
new Font("Arial", 9), Brushes.Black, 5, 6);
e.Graphics.DrawString(
"designer verb menu commands provided",
new Font("Arial", 9), Brushes.Black, 5, 20);
e.Graphics.DrawString(
"by the IUIServiceTestDesigner.",
new Font("Arial", 9), Brushes.Black, 5, 34);
}
}
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Windows.Forms
Imports System.Windows.Forms.Design
' This designer provides a set of designer verb shortcut menu commands
' that call methods of the IUIService.
Public Class IUIServiceTestDesigner
Inherits System.Windows.Forms.Design.ControlDesigner
Public Sub New()
End Sub
' Provides a set of designer verb menu commands that call
' IUIService methods.
Public Overrides ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
Get
Return New DesignerVerbCollection(New DesignerVerb() { _
New DesignerVerb("Show a test message box using the IUIService", _
New EventHandler(AddressOf Me.showTestMessage)), _
New DesignerVerb("Show a test error message using the IUIService", _
New EventHandler(AddressOf Me.showErrorMessage)), _
New DesignerVerb("Show an example Form using the IUIService", _
New EventHandler(AddressOf Me.showDialog)), _
New DesignerVerb("Show the Task List tool window using the IUIService", _
New EventHandler(AddressOf Me.showToolWindow))})
End Get
End Property
' Displays a message box with message text, caption text
' and buttons of a particular MessageBoxButtons style.
Private Sub showTestMessage(ByVal sender As Object, ByVal e As EventArgs)
Dim UIservice As IUIService = CType(Me.GetService( _
GetType(System.Windows.Forms.Design.IUIService)), IUIService)
If (UIservice IsNot Nothing) Then
UIservice.ShowMessage("Test message", "Test caption", _
System.Windows.Forms.MessageBoxButtons.AbortRetryIgnore)
End If
End Sub
' Displays an error message box that displays the message
' contained within a specified exception.
Private Sub showErrorMessage(ByVal sender As Object, ByVal e As EventArgs)
Dim UIservice As IUIService = CType(Me.GetService( _
GetType(System.Windows.Forms.Design.IUIService)), IUIService)
If (UIservice IsNot Nothing) Then
UIservice.ShowError(New Exception( _
"This is a message in a test exception, displayed by the IUIService", _
New ArgumentException("Test inner exception")))
End If
End Sub
' Displays an example Windows Form using the
' IUIService.ShowDialog method.
Private Sub showDialog(ByVal sender As Object, ByVal e As EventArgs)
Dim UIservice As IUIService = CType(Me.GetService( _
GetType(System.Windows.Forms.Design.IUIService)), IUIService)
If (UIservice IsNot Nothing) Then
UIservice.ShowDialog(New ExampleForm())
End If
End Sub
' Displays a standard tool window using the
' IUIService.ShowToolWindow method.
Private Sub showToolWindow(ByVal sender As Object, ByVal e As EventArgs)
Dim UIservice As IUIService = CType(Me.GetService( _
GetType(System.Windows.Forms.Design.IUIService)), IUIService)
If (UIservice IsNot Nothing) Then
UIservice.ShowToolWindow(StandardToolWindows.TaskList)
End If
End Sub
End Class
' Provides an example Form class used by the
' IUIServiceTestDesigner.showDialog method.
Friend Class ExampleForm
Inherits System.Windows.Forms.Form
Public Sub New()
Me.Text = "Example Form"
Dim okButton As New System.Windows.Forms.Button()
okButton.Location = New Point(Me.Width - 70, Me.Height - 70)
okButton.Size = New Size(50, 20)
okButton.Anchor = AnchorStyles.Right Or AnchorStyles.Bottom
okButton.DialogResult = System.Windows.Forms.DialogResult.OK
okButton.Text = "OK"
Me.Controls.Add(okButton)
End Sub
End Class
' This control is associated with the IUIServiceTestDesigner,
' and can be sited in design mode to use the sample.
<DesignerAttribute(GetType(IUIServiceTestDesigner), GetType(IDesigner))> _
Public Class IUIServiceExampleControl
Inherits UserControl
Public Sub New()
Me.BackColor = Color.Beige
Me.Width = 255
Me.Height = 60
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
If Me.DesignMode Then
e.Graphics.DrawString("Right-click this control to display a list of the", _
New Font("Arial", 9), Brushes.Black, 5, 6)
e.Graphics.DrawString("designer verb menu commands provided", _
New Font("Arial", 9), Brushes.Black, 5, 20)
e.Graphics.DrawString("by the IUIServiceTestDesigner.", _
New Font("Arial", 9), Brushes.Black, 5, 34)
End If
End Sub
End Class
Комментарии
IUIService может отображать сообщения об ошибках, отображать диалоговые окна и получать внешние свойства узла, такие как шрифт для диалоговых окон и цветовых схем, через Styles свойство словаря.
Свойства
Styles |
Получает коллекцию стилей, конкретных для среды узла. |
Методы
CanShowComponentEditor(Object) |
Показывает, может ли компонент отображать ComponentEditorForm. |
GetDialogOwnerWindow() |
Получает окно, которое должно быть использовано в качестве владельца при показе диалоговых окон. |
SetUIDirty() |
Задает флаг, показывающий на наличие изменения пользовательского интерфейса. |
ShowComponentEditor(Object, IWin32Window) |
Пытается отобразить для компонента форму ComponentEditorForm. |
ShowDialog(Form) |
Пытается отобразить заданную форму в диалоговом окне. |
ShowError(Exception) |
Отображает заданное исключение и информацию о нем в окне сообщения. |
ShowError(Exception, String) |
Отображает заданное исключение и информацию о нем в окне сообщения. |
ShowError(String) |
Отображает заданное сообщение об ошибке в окне сообщения. |
ShowMessage(String) |
Отображает заданное сообщение в окне сообщения. |
ShowMessage(String, String) |
Отображает заданное сообщение в окне сообщения с заданным заголовком. |
ShowMessage(String, String, MessageBoxButtons) |
Отображает заданное сообщение в окне сообщения с заданным заголовком и размещенными в окне кнопками. |
ShowToolWindow(Guid) |
Отображает указанное окно инструментов. |