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
- SecurityCriticalDataForSet.cs
- NumericPagerField.cs
- StackBuilderSink.cs
- WebBodyFormatMessageProperty.cs
- WsdlImporterElement.cs
- ProfilePropertyNameValidator.cs
- XomlCompilerResults.cs
- ModifierKeysConverter.cs
- XmlChildEnumerator.cs
- CompoundFileStorageReference.cs
- BindingExpression.cs
- DataSpaceManager.cs
- ScrollViewerAutomationPeer.cs
- storagemappingitemcollection.viewdictionary.cs
- BinaryParser.cs
- TabControl.cs
- ClientCultureInfo.cs
- ThreadStaticAttribute.cs
- bidPrivateBase.cs
- __Error.cs
- Padding.cs
- ScriptModule.cs
- xmlsaver.cs
- ObjectParameter.cs
- Utils.cs
- WebPartConnectionsCloseVerb.cs
- IIS7WorkerRequest.cs
- CodeComment.cs
- FrameworkContextData.cs
- CodeValidator.cs
- CompositeCollectionView.cs
- LowerCaseStringConverter.cs
- ClientBuildManager.cs
- WindowAutomationPeer.cs
- ObjectStateFormatter.cs
- Transform.cs
- GifBitmapDecoder.cs
- ConfigurationStrings.cs
- MediaPlayer.cs
- HighlightComponent.cs
- __Filters.cs
- BaseResourcesBuildProvider.cs
- ConnectivityStatus.cs
- LocalizableResourceBuilder.cs
- CompiledELinqQueryState.cs
- AxisAngleRotation3D.cs
- HttpBrowserCapabilitiesBase.cs
- CanonicalFontFamilyReference.cs
- DataGridViewRowHeaderCell.cs
- input.cs
- SqlDataReader.cs
- ErrorWebPart.cs
- BaseCodeDomTreeGenerator.cs
- DeclarativeCatalogPart.cs
- ReaderWriterLock.cs
- HttpCookieCollection.cs
- DictionaryEntry.cs
- File.cs
- TimeoutConverter.cs
- StrongNameUtility.cs
- BaseServiceProvider.cs
- SchemaImporterExtensionElementCollection.cs
- Material.cs
- PlanCompiler.cs
- SchemaImporterExtension.cs
- XmlSignatureManifest.cs
- baseshape.cs
- ContainerParagraph.cs
- COM2PropertyDescriptor.cs
- BackEase.cs
- XmlSchemaImporter.cs
- _AuthenticationState.cs
- SqlMethodCallConverter.cs
- PointAnimationClockResource.cs
- BinaryMethodMessage.cs
- UpdatePanel.cs
- WebScriptMetadataMessageEncoderFactory.cs
- SelectorItemAutomationPeer.cs
- ListBox.cs
- SQLBytesStorage.cs
- ValidationRule.cs
- SafeNativeMethods.cs
- ErrorTableItemStyle.cs
- FormViewPagerRow.cs
- FontResourceCache.cs
- ListViewSortEventArgs.cs
- DataControlReference.cs
- AVElementHelper.cs
- ListItemParagraph.cs
- CompiledELinqQueryState.cs
- NavigateUrlConverter.cs
- ToolStripDropDownButton.cs
- MembershipPasswordException.cs
- FromReply.cs
- ConfigurationSectionCollection.cs
- invalidudtexception.cs
- DesignerVerb.cs
- SqlAggregateChecker.cs
- FieldBuilder.cs
- TypefaceMap.cs