Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / MaskPropertyEditor.cs / 1 / MaskPropertyEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System; using System.Design; using System.Drawing.Design; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Windows.Forms; using System.Diagnostics; ////// Design time editing class for the Mask property of the MaskedTextBox control. /// internal class MaskPropertyEditor : UITypeEditor { ////// Constructor. /// public MaskPropertyEditor() { } ////// Gets the mask property value fromt the MaskDesignerDialog. /// The IUIService is used to show the mask designer dialog within VS so it doesn't get blocked if focus /// is moved to anoter app. /// internal static string EditMask(ITypeDiscoveryService discoverySvc, IUIService uiSvc, MaskedTextBox instance, IHelpService helpService) { Debug.Assert( instance != null, "Null masked text box." ); string mask = null; MaskDesignerDialog dlg = new MaskDesignerDialog(instance, helpService); try { dlg.DiscoverMaskDescriptors( discoverySvc ); // fine if service is null. // Show dialog from VS. // Debug.Assert( uiSvc != null, "Expected IUIService, defaulting to an intrusive way to show the dialog..." ); DialogResult dlgResult = uiSvc != null ? uiSvc.ShowDialog( dlg ) : dlg.ShowDialog(); if ( dlgResult == DialogResult.OK) { mask = dlg.Mask; // ValidatingType is not browsable so we don't need to set the property through the designer. if (dlg.ValidatingType != instance.ValidatingType) { instance.ValidatingType = dlg.ValidatingType; } } } finally { dlg.Dispose(); } // Will return null if dlgResult != OK. return mask; } ////// Edits the Mask property of the MaskedTextBox control from the PropertyGrid. /// // This should be okay since System.Design only runs in FullTrust. // SECREVIEW: Isn't that true [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context != null && provider != null) { ITypeDiscoveryService discoverySvc = (ITypeDiscoveryService) provider.GetService(typeof(ITypeDiscoveryService)); // fine if service is not found. IUIService uiSvc = (IUIService) provider.GetService(typeof(IUIService)); IHelpService helpService = (IHelpService)provider.GetService(typeof(IHelpService)); string mask = MaskPropertyEditor.EditMask(discoverySvc, uiSvc, context.Instance as MaskedTextBox, helpService); if( mask != null ) { return mask; } } return value; } ////// Painting a representation of the Mask value is not supported. /// // This should be okay since System.Design only runs in FullTrust. // SECREVIEW: Isn't that true [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] public override bool GetPaintValueSupported(System.ComponentModel.ITypeDescriptorContext context) { return false; } ////// Gets the edit style of the type editor. /// // This should be okay since System.Design only runs in FullTrust. // SECREVIEW: Isn't that true [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] public override UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context) { return UITypeEditorEditStyle.Modal; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StandardTransformFactory.cs
- ExtensionElement.cs
- PathFigureCollection.cs
- securitycriticaldataClass.cs
- LinkConverter.cs
- Control.cs
- HtmlObjectListAdapter.cs
- LoginDesigner.cs
- WorkflowTimerService.cs
- UnsafeNativeMethodsPenimc.cs
- DispatcherHooks.cs
- CodeCompiler.cs
- DocobjHost.cs
- DefaultTraceListener.cs
- XmlElementAttributes.cs
- RequestQueue.cs
- MemoryFailPoint.cs
- BoundsDrawingContextWalker.cs
- WsdlInspector.cs
- MenuScrollingVisibilityConverter.cs
- GetLedgerEntryForRecipientRequest.cs
- XmlBaseReader.cs
- RepeaterItemCollection.cs
- SerializationObjectManager.cs
- Int16KeyFrameCollection.cs
- GridViewRowCollection.cs
- TimeSpanValidator.cs
- externdll.cs
- SiteMapPath.cs
- OutOfMemoryException.cs
- RewritingSimplifier.cs
- ProviderException.cs
- XamlReaderHelper.cs
- AvTraceDetails.cs
- DebuggerAttributes.cs
- PartBasedPackageProperties.cs
- LineGeometry.cs
- ExpressionReplacer.cs
- CertificateManager.cs
- SqlBuilder.cs
- sitestring.cs
- NodeFunctions.cs
- translator.cs
- ComPlusServiceLoader.cs
- CDSCollectionETWBCLProvider.cs
- EntityContainerEntitySet.cs
- DelegatingMessage.cs
- MultipartContentParser.cs
- FieldNameLookup.cs
- Options.cs
- SapiGrammar.cs
- DecoratedNameAttribute.cs
- Pen.cs
- CmsInterop.cs
- EventProxy.cs
- WsatTransactionInfo.cs
- IdentityNotMappedException.cs
- XmlUrlEditor.cs
- BadImageFormatException.cs
- XmlException.cs
- LinqDataSourceView.cs
- Operators.cs
- GlobalProxySelection.cs
- mediaeventargs.cs
- HttpCookiesSection.cs
- SqlConnection.cs
- ServiceContractGenerationContext.cs
- PersonalizationStateInfoCollection.cs
- SynchronousReceiveElement.cs
- GACMembershipCondition.cs
- LoginView.cs
- ClientSettingsProvider.cs
- HwndHost.cs
- TextAction.cs
- DrawTreeNodeEventArgs.cs
- EntityContainerRelationshipSet.cs
- ConfigsHelper.cs
- XmlReflectionImporter.cs
- DataGridRow.cs
- TypeLibConverter.cs
- XmlNamespaceDeclarationsAttribute.cs
- HashRepartitionEnumerator.cs
- SettingsPropertyCollection.cs
- SqlFunctionAttribute.cs
- ApplicationSecurityInfo.cs
- ExtendedProtectionPolicyTypeConverter.cs
- GZipDecoder.cs
- AssemblyCache.cs
- MatrixValueSerializer.cs
- FaultReasonText.cs
- Timer.cs
- SerializationEventsCache.cs
- GlyphRunDrawing.cs
- ThreadStateException.cs
- Stackframe.cs
- XamlStyleSerializer.cs
- DesignerLoader.cs
- DbgCompiler.cs
- ObjectDataSourceStatusEventArgs.cs
- SharedPerformanceCounter.cs