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
- ConfigurationValidatorBase.cs
- SqlProvider.cs
- VideoDrawing.cs
- SingleQueryOperator.cs
- followingsibling.cs
- TypeUtil.cs
- TextSpan.cs
- MulticastDelegate.cs
- ConnectionStringsExpressionEditor.cs
- CheckBoxRenderer.cs
- UserControlFileEditor.cs
- ChooseAction.cs
- FontConverter.cs
- PreviewPageInfo.cs
- FixedSOMPageConstructor.cs
- ValidatingReaderNodeData.cs
- TextTreeTextBlock.cs
- ValidatorCollection.cs
- MatrixTransform.cs
- FocusManager.cs
- UnsafeNativeMethods.cs
- XmlSchemaDocumentation.cs
- TextEffect.cs
- ObjectItemCachedAssemblyLoader.cs
- DetailsViewInsertEventArgs.cs
- EditingMode.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- SubclassTypeValidator.cs
- Axis.cs
- SystemIPv6InterfaceProperties.cs
- HelpProvider.cs
- GraphicsState.cs
- ResourceIDHelper.cs
- DesignerVerb.cs
- EntityDataSource.cs
- EdmTypeAttribute.cs
- ProjectedWrapper.cs
- XslUrlEditor.cs
- StringValidatorAttribute.cs
- StreamWithDictionary.cs
- HtmlImage.cs
- wgx_exports.cs
- FixedPageAutomationPeer.cs
- QilVisitor.cs
- PolicyUtility.cs
- Matrix.cs
- CompilerGeneratedAttribute.cs
- ColorBlend.cs
- ItemCheckEvent.cs
- Cursors.cs
- objectresult_tresulttype.cs
- EastAsianLunisolarCalendar.cs
- TogglePatternIdentifiers.cs
- TextOutput.cs
- CodeNamespaceImportCollection.cs
- TextBoxRenderer.cs
- PreloadedPackages.cs
- EventDescriptor.cs
- BaseTemplateCodeDomTreeGenerator.cs
- IdentityNotMappedException.cs
- ArithmeticException.cs
- MergablePropertyAttribute.cs
- GZipDecoder.cs
- __Filters.cs
- DPAPIProtectedConfigurationProvider.cs
- PersistenceContextEnlistment.cs
- DetailsViewCommandEventArgs.cs
- ObjectToken.cs
- DrawToolTipEventArgs.cs
- ScrollPattern.cs
- WorkerRequest.cs
- DbConnectionFactory.cs
- DocumentEventArgs.cs
- PeerResolverBindingElement.cs
- QilParameter.cs
- Cell.cs
- BamlStream.cs
- CatalogPartCollection.cs
- DbExpressionRules.cs
- _RequestCacheProtocol.cs
- SystemIPAddressInformation.cs
- FileLevelControlBuilderAttribute.cs
- UpdateTranslator.cs
- ProjectionCamera.cs
- BaseDataBoundControl.cs
- ISFClipboardData.cs
- ProtocolViolationException.cs
- ResourceDisplayNameAttribute.cs
- Control.cs
- SourceItem.cs
- GiveFeedbackEventArgs.cs
- Profiler.cs
- UpDownBase.cs
- XamlSerializer.cs
- Stylesheet.cs
- SymLanguageType.cs
- CodeGenerator.cs
- PeerNameRegistration.cs
- DataGridViewSelectedRowCollection.cs
- EventLogPermissionEntry.cs