Code:
/ FX-1434 / FX-1434 / 1.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
- MailWebEventProvider.cs
- ContentPosition.cs
- DrawTreeNodeEventArgs.cs
- QilDataSource.cs
- ExclusiveCanonicalizationTransform.cs
- WebBrowserDesigner.cs
- VerificationException.cs
- InvalidOperationException.cs
- Parameter.cs
- WebPartAuthorizationEventArgs.cs
- DocumentViewerBase.cs
- HttpSessionStateBase.cs
- HttpRequest.cs
- ExtensionFile.cs
- FunctionCommandText.cs
- DetailsViewModeEventArgs.cs
- EntityModelBuildProvider.cs
- ScriptRegistrationManager.cs
- Nullable.cs
- SHA256.cs
- WebHttpElement.cs
- RangeValuePattern.cs
- ServerIdentity.cs
- DefaultCommandConverter.cs
- HotCommands.cs
- ProxyAttribute.cs
- GeometryDrawing.cs
- EqualityComparer.cs
- WebPermission.cs
- ThemeConfigurationDialog.cs
- ImageListStreamer.cs
- OdbcCommandBuilder.cs
- TrackingMemoryStream.cs
- CatalogPartChrome.cs
- TextViewDesigner.cs
- ValueUnavailableException.cs
- LinearQuaternionKeyFrame.cs
- TheQuery.cs
- Effect.cs
- PrintPreviewDialog.cs
- AstTree.cs
- RuleSettings.cs
- X509Utils.cs
- XmlNotation.cs
- OleDbTransaction.cs
- PersonalizablePropertyEntry.cs
- CryptoKeySecurity.cs
- ZoomingMessageFilter.cs
- Stylus.cs
- recordstatescratchpad.cs
- ControlAdapter.cs
- ExpressionsCollectionEditor.cs
- iisPickupDirectory.cs
- hebrewshape.cs
- DataTable.cs
- WebBrowserContainer.cs
- WebBrowser.cs
- FormsAuthentication.cs
- RegexGroup.cs
- DataKey.cs
- Mutex.cs
- DataTrigger.cs
- DataGridTextBox.cs
- CompoundFileStreamReference.cs
- QueryMatcher.cs
- ExtensionQuery.cs
- MailWebEventProvider.cs
- EncryptedXml.cs
- Int64AnimationUsingKeyFrames.cs
- XmlSchemaParticle.cs
- WeakReferenceKey.cs
- DtrList.cs
- ConditionalAttribute.cs
- NameValuePermission.cs
- JulianCalendar.cs
- IntPtr.cs
- coordinatorscratchpad.cs
- DebugView.cs
- PassportPrincipal.cs
- ToolStripLocationCancelEventArgs.cs
- XmlSerializationWriter.cs
- Variant.cs
- MaterializeFromAtom.cs
- RbTree.cs
- SuppressIldasmAttribute.cs
- SiteOfOriginContainer.cs
- MailAddress.cs
- Nullable.cs
- MatrixCamera.cs
- SmtpMail.cs
- SmtpNtlmAuthenticationModule.cs
- XmlSchemas.cs
- MexHttpsBindingElement.cs
- Debug.cs
- Timer.cs
- SelectionEditor.cs
- AttachmentService.cs
- PropertySegmentSerializer.cs
- MobileControlPersister.cs
- RawMouseInputReport.cs