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
- SchemaEntity.cs
- StrokeDescriptor.cs
- TimerElapsedEvenArgs.cs
- WorkflowRuntimeEndpoint.cs
- UInt32.cs
- recordstate.cs
- NoneExcludedImageIndexConverter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SourceFilter.cs
- HMACSHA512.cs
- PeerTransportListenAddressValidator.cs
- SecurityBindingElement.cs
- UpWmlPageAdapter.cs
- DataGridColumnsPage.cs
- OdbcConnectionString.cs
- Base64Stream.cs
- PromptEventArgs.cs
- EnterpriseServicesHelper.cs
- PopupRoot.cs
- HwndProxyElementProvider.cs
- CompositeClientFormatter.cs
- ListControlActionList.cs
- TransactionWaitAsyncResult.cs
- CategoryNameCollection.cs
- DeclarativeExpressionConditionDeclaration.cs
- SoapProcessingBehavior.cs
- mda.cs
- TextModifier.cs
- RawStylusSystemGestureInputReport.cs
- CustomAttribute.cs
- OdbcParameterCollection.cs
- OpenTypeCommon.cs
- MissingManifestResourceException.cs
- DateTimeEditor.cs
- HtmlListAdapter.cs
- VirtualPathProvider.cs
- TextDecorationCollection.cs
- HtmlInputHidden.cs
- AttributeCollection.cs
- Helpers.cs
- serverconfig.cs
- TextServicesProperty.cs
- PatternMatcher.cs
- LinqMaximalSubtreeNominator.cs
- SoapIncludeAttribute.cs
- HashAlgorithm.cs
- TraceSection.cs
- GestureRecognizer.cs
- Panel.cs
- DetailsViewDeleteEventArgs.cs
- PixelShader.cs
- LocalizableResourceBuilder.cs
- UnauthorizedAccessException.cs
- SqlResolver.cs
- WindowsSolidBrush.cs
- XmlSchemaException.cs
- DbProviderConfigurationHandler.cs
- HtmlInputCheckBox.cs
- ToolStripOverflow.cs
- Descriptor.cs
- RoutingEndpointTrait.cs
- NullReferenceException.cs
- PerformanceCounterCategory.cs
- DetailsViewDeletedEventArgs.cs
- MethodCallConverter.cs
- AnnotationStore.cs
- RecommendedAsConfigurableAttribute.cs
- CustomWebEventKey.cs
- ToolStripPanelCell.cs
- CategoryNameCollection.cs
- PropertyStore.cs
- DmlSqlGenerator.cs
- BuildResultCache.cs
- filewebresponse.cs
- MimePart.cs
- ProviderCollection.cs
- SessionPageStatePersister.cs
- httpapplicationstate.cs
- SharedUtils.cs
- CroppedBitmap.cs
- Set.cs
- DbConnectionStringBuilder.cs
- MobileControlPersister.cs
- PartialCachingAttribute.cs
- FileUtil.cs
- MimePart.cs
- SQLSingleStorage.cs
- TreeNodeBindingCollection.cs
- BlockCollection.cs
- BindingExpressionUncommonField.cs
- EntityClientCacheEntry.cs
- DesignerSerializationOptionsAttribute.cs
- DllHostInitializer.cs
- CommandLineParser.cs
- Utilities.cs
- Enum.cs
- UrlRoutingModule.cs
- WebBrowserSiteBase.cs
- DataGridViewCellCancelEventArgs.cs
- ImageFormatConverter.cs