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
- FontStyle.cs
- RegexCompiler.cs
- PaperSize.cs
- PtsHelper.cs
- SystemTcpStatistics.cs
- cookiecontainer.cs
- WebHttpBinding.cs
- TypeReference.cs
- FacetDescriptionElement.cs
- SocketManager.cs
- _ShellExpression.cs
- UiaCoreTypesApi.cs
- Camera.cs
- XPathNavigatorKeyComparer.cs
- PeerPresenceInfo.cs
- QueryPageSettingsEventArgs.cs
- DecoderReplacementFallback.cs
- ArcSegment.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- DodSequenceMerge.cs
- CreateUserWizard.cs
- ChangeInterceptorAttribute.cs
- TagMapCollection.cs
- EditingCommands.cs
- DataGridToolTip.cs
- SelectedCellsCollection.cs
- PeerNodeAddress.cs
- InvalidComObjectException.cs
- FormsAuthenticationTicket.cs
- TableLayout.cs
- SettingsProviderCollection.cs
- ItemCheckedEvent.cs
- ListQueryResults.cs
- EntityDesignerBuildProvider.cs
- ExpressionEvaluator.cs
- SafeRightsManagementQueryHandle.cs
- IriParsingElement.cs
- MenuStrip.cs
- WebPartsPersonalizationAuthorization.cs
- QilGeneratorEnv.cs
- DynamicPropertyHolder.cs
- PropertyOverridesTypeEditor.cs
- DesignerCalendarAdapter.cs
- serverconfig.cs
- HttpProfileGroupBase.cs
- Application.cs
- SpeechSeg.cs
- SymbolMethod.cs
- PolicyUnit.cs
- CompiledQuery.cs
- ProtectedProviderSettings.cs
- CodeRemoveEventStatement.cs
- PackageRelationship.cs
- ConditionalWeakTable.cs
- ImmutableAssemblyCacheEntry.cs
- Annotation.cs
- Pair.cs
- WorkflowInstanceExtensionCollection.cs
- SafeViewOfFileHandle.cs
- DesignTimeXamlWriter.cs
- DataTableCollection.cs
- SmtpFailedRecipientsException.cs
- MeshGeometry3D.cs
- HTTP_SERVICE_CONFIG_URLACL_PARAM.cs
- ArraySet.cs
- CatalogPartChrome.cs
- ToolStripCustomTypeDescriptor.cs
- CriticalFinalizerObject.cs
- SafeReadContext.cs
- DBPropSet.cs
- BitmapMetadataBlob.cs
- PackageDigitalSignatureManager.cs
- SafeNativeMethods.cs
- WCFBuildProvider.cs
- WebControlParameterProxy.cs
- ClientConfigurationHost.cs
- PathSegment.cs
- HttpProtocolImporter.cs
- PagesSection.cs
- ThicknessConverter.cs
- NonVisualControlAttribute.cs
- DbQueryCommandTree.cs
- CompositeActivityMarkupSerializer.cs
- NamespaceInfo.cs
- ListView.cs
- QuadraticBezierSegment.cs
- MinMaxParagraphWidth.cs
- DurableInstanceProvider.cs
- MailDefinition.cs
- HtmlInputHidden.cs
- InputScopeAttribute.cs
- BulletChrome.cs
- MessageQuerySet.cs
- SortDescriptionCollection.cs
- XamlSerializationHelper.cs
- Utils.cs
- WebPartPersonalization.cs
- Switch.cs
- EntityCollection.cs
- InstanceContext.cs