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
- Globals.cs
- XmlTextReaderImplHelpers.cs
- CustomValidator.cs
- WsdlBuildProvider.cs
- HostingEnvironmentException.cs
- CheckBoxList.cs
- GroupLabel.cs
- SoapSchemaImporter.cs
- _TLSstream.cs
- UInt32Converter.cs
- RayMeshGeometry3DHitTestResult.cs
- InertiaRotationBehavior.cs
- ListenerElementsCollection.cs
- IList.cs
- ProvidePropertyAttribute.cs
- Identifier.cs
- SqlError.cs
- VisualProxy.cs
- MetadataItemEmitter.cs
- StylusPointPropertyUnit.cs
- QueryExpr.cs
- IndependentAnimationStorage.cs
- SystemNetHelpers.cs
- VBCodeProvider.cs
- NamedObject.cs
- SafePEFileHandle.cs
- Path.cs
- WebPartsPersonalizationAuthorization.cs
- NativeBuffer.cs
- X509SubjectKeyIdentifierClause.cs
- ResolveRequestResponseAsyncResult.cs
- ColumnResizeUndoUnit.cs
- PagesSection.cs
- TextContainer.cs
- XmlDocumentSchema.cs
- QilReference.cs
- CounterSampleCalculator.cs
- DataGridItem.cs
- Utils.cs
- XmlDomTextWriter.cs
- ClientUrlResolverWrapper.cs
- ServiceHttpModule.cs
- BamlMapTable.cs
- SqlDeflator.cs
- DrawingGroupDrawingContext.cs
- FileDialog.cs
- MailMessage.cs
- DataGridViewCellValidatingEventArgs.cs
- TextSelection.cs
- InvokeMethodActivityDesigner.cs
- ScrollData.cs
- FunctionNode.cs
- WebService.cs
- Visitor.cs
- Matrix.cs
- ScriptComponentDescriptor.cs
- ProcessThreadCollection.cs
- TimeZone.cs
- Point.cs
- PackUriHelper.cs
- AssemblyBuilderData.cs
- DeviceContexts.cs
- DocumentPageView.cs
- DesignerCategoryAttribute.cs
- HttpCapabilitiesSectionHandler.cs
- OutOfProcStateClientManager.cs
- DrawingGroupDrawingContext.cs
- Merger.cs
- DbConnectionPoolGroup.cs
- SuppressIldasmAttribute.cs
- IndexedGlyphRun.cs
- CommandLineParser.cs
- PerformanceCounterPermission.cs
- DataGridViewRowPrePaintEventArgs.cs
- GeneratedContractType.cs
- HostedTcpTransportManager.cs
- XmlConvert.cs
- RefExpr.cs
- SplashScreen.cs
- ListItem.cs
- DataGridViewRowCancelEventArgs.cs
- CurrencyWrapper.cs
- SqlDependency.cs
- AdornerPresentationContext.cs
- InternalPermissions.cs
- FacetDescriptionElement.cs
- ItemsChangedEventArgs.cs
- StrongNameMembershipCondition.cs
- GridViewHeaderRowPresenter.cs
- CodeRegionDirective.cs
- ZoneButton.cs
- BitmapCodecInfo.cs
- UIInitializationException.cs
- Win32Native.cs
- ListBoxItem.cs
- SystemIPv6InterfaceProperties.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ContextMenuAutomationPeer.cs
- LoadedEvent.cs
- EditingCoordinator.cs