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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VirtualPathProvider.cs
- ActiveDocumentEvent.cs
- SafeFileMappingHandle.cs
- TraceSection.cs
- RootAction.cs
- TextBlock.cs
- ContextMenuStrip.cs
- EntryPointNotFoundException.cs
- Debug.cs
- DynamicQueryableWrapper.cs
- CSharpCodeProvider.cs
- FontConverter.cs
- EffectiveValueEntry.cs
- ClientUrlResolverWrapper.cs
- ActivitySurrogateSelector.cs
- StandardCommands.cs
- RoleManagerSection.cs
- FragmentNavigationEventArgs.cs
- SiteMapNodeCollection.cs
- PageContentCollection.cs
- RichTextBoxAutomationPeer.cs
- DateTimeStorage.cs
- WindowsRichEdit.cs
- TreeNodeCollectionEditor.cs
- GlyphShapingProperties.cs
- Compensate.cs
- Perspective.cs
- WebFaultClientMessageInspector.cs
- BindingEntityInfo.cs
- UnsafeNativeMethods.cs
- AsymmetricSignatureDeformatter.cs
- ShaderEffect.cs
- TextLineResult.cs
- WebEvents.cs
- TransformerTypeCollection.cs
- ToolStripContainer.cs
- ObjectViewEntityCollectionData.cs
- ByeMessageCD1.cs
- EventLogInformation.cs
- RelationshipDetailsRow.cs
- ParameterToken.cs
- ConfigurationLoaderException.cs
- MenuItem.cs
- XmlSchemaExternal.cs
- AssemblyCollection.cs
- DLinqAssociationProvider.cs
- GenericXmlSecurityToken.cs
- XmlWriter.cs
- ReachPageContentSerializerAsync.cs
- Image.cs
- XmlSchemaSubstitutionGroup.cs
- BorderGapMaskConverter.cs
- LinqToSqlWrapper.cs
- ResourceDisplayNameAttribute.cs
- MailSettingsSection.cs
- JpegBitmapDecoder.cs
- ZoneMembershipCondition.cs
- ListDictionary.cs
- FileDialog_Vista.cs
- iisPickupDirectory.cs
- ToolStripContentPanelRenderEventArgs.cs
- SafeArrayRankMismatchException.cs
- DBCommand.cs
- BitmapEffectState.cs
- CryptoConfig.cs
- TreeIterator.cs
- StickyNoteAnnotations.cs
- CssTextWriter.cs
- TextDecorationUnitValidation.cs
- AccessibleObject.cs
- Quaternion.cs
- NativeMethods.cs
- ParseNumbers.cs
- MetadataSource.cs
- XmlSchemas.cs
- SendMailErrorEventArgs.cs
- QilReference.cs
- SqlBooleanizer.cs
- ClosableStream.cs
- HttpCapabilitiesEvaluator.cs
- PagesSection.cs
- StandardOleMarshalObject.cs
- ExeConfigurationFileMap.cs
- CodeGen.cs
- ProcessProtocolHandler.cs
- LinqDataSourceSelectEventArgs.cs
- PeerNeighborManager.cs
- WSDualHttpBinding.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- JournalEntryStack.cs
- ObjectPersistData.cs
- FormsAuthenticationUserCollection.cs
- BitmapImage.cs
- PreApplicationStartMethodAttribute.cs
- ToolStripContainerActionList.cs
- TraceHwndHost.cs
- StreamUpdate.cs
- FileDataSourceCache.cs
- ImageField.cs
- ParameterEditorUserControl.cs