Common_SimpleServerTask_CSharp\ButtonTextEditor.cs
// Copyright 2010 ESRI // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // You may freely redistribute and use this sample code, with or // without modification, provided you include the original copyright // notice and use restrictions. // // See the use restrictions. // namespace SimpleServerTask_CSharp { /// <summary> /// Edits ButtonText property on a SimpleTask. /// </summary> public class ButtonTextEditor : System.Drawing.Design.UITypeEditor { /// <summary> /// Edits the value of the specified object using the editor style indicated by GetEditStyle. /// </summary> /// <param name="context">An ITypeDescriptorContext that can be used to gain additional context information<see cref="System.ComponentModel.ITypeDescriptorContext"/></param> /// <param name="provider">An IServiceProvider that this editor can use to obtain services</param> /// <param name="value">The object to edit</param> /// <returns>The edited value.</returns> public override object EditValue(System.ComponentModel.ITypeDescriptorContext typeDescriptorContext, System.IServiceProvider serviceProvider, object value) { // Make sure a valid type descriptor context and service provider were passed in if ((typeDescriptorContext != null) && (serviceProvider != null)) { // If the type descriptor context's instance (the control - in this case a simple task - // being configured) is null, exit the method without updating any properties if (typeDescriptorContext.Instance == null) return value; // Instantiate the form to edit the simple task's button text ButtonTextEditorForm buttonTextEditorForm = new ButtonTextEditorForm(value as string); // Show the form. If the form closes by the user clicking OK, then update the button // text with that specified on the form. if (buttonTextEditorForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) value = buttonTextEditorForm.Value; } return value; } /// <summary> /// Gets the editor style used by the EditValue method /// </summary> /// <param name="context">An ITypeDescriptorContext that can be used to gain additional context information<see cref="System.ComponentModel.ITypeDescriptorContext"/></param> /// <returns>If the context is not null, the Style will always be returned as Modal, otherwise will return a default edit style</returns> public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle( System.ComponentModel.ITypeDescriptorContext typeDescriptorContext) { if (typeDescriptorContext != null) { return System.Drawing.Design.UITypeEditorEditStyle.Modal; } return base.GetEditStyle(typeDescriptorContext); } } }