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
- EntityContainerEmitter.cs
- EntityDataSourceContextDisposingEventArgs.cs
- Empty.cs
- SqlClientWrapperSmiStreamChars.cs
- FileDialog_Vista_Interop.cs
- ConfigurationValues.cs
- FileCodeGroup.cs
- RoleBoolean.cs
- AuthenticateEventArgs.cs
- DataDocumentXPathNavigator.cs
- TrustManager.cs
- ProcessHost.cs
- Evidence.cs
- EventLogPermissionEntryCollection.cs
- MultiAsyncResult.cs
- StylusCollection.cs
- SpellCheck.cs
- Renderer.cs
- Composition.cs
- RectAnimationBase.cs
- JournalEntryStack.cs
- FieldNameLookup.cs
- CalendarDay.cs
- SQLSingleStorage.cs
- XPathSelfQuery.cs
- SingleConverter.cs
- ObjectDataSourceSelectingEventArgs.cs
- SelectionProviderWrapper.cs
- XmlArrayItemAttribute.cs
- PopupEventArgs.cs
- Clock.cs
- WhitespaceRuleLookup.cs
- TableLayoutPanelResizeGlyph.cs
- AudioLevelUpdatedEventArgs.cs
- PropertyGridEditorPart.cs
- Part.cs
- QuestionEventArgs.cs
- ForceCopyBuildProvider.cs
- TraceSource.cs
- RealizationContext.cs
- DesignerVerb.cs
- EventDescriptorCollection.cs
- CompilerScope.Storage.cs
- serverconfig.cs
- WebPartAuthorizationEventArgs.cs
- NullableConverter.cs
- MessageDispatch.cs
- Emitter.cs
- XmlSchemaAttributeGroup.cs
- basenumberconverter.cs
- TextServicesCompartmentContext.cs
- future.cs
- GB18030Encoding.cs
- XPathArrayIterator.cs
- RIPEMD160Managed.cs
- BuildManagerHost.cs
- MsmqIntegrationBindingElement.cs
- PropertyNames.cs
- AsyncOperationManager.cs
- XmlDeclaration.cs
- Page.cs
- DecodeHelper.cs
- HttpModulesSection.cs
- CryptoKeySecurity.cs
- XhtmlConformanceSection.cs
- TemplateColumn.cs
- SmiEventStream.cs
- XmlSerializerVersionAttribute.cs
- RelationshipConverter.cs
- UICuesEvent.cs
- Registry.cs
- DocumentViewerBaseAutomationPeer.cs
- SqlExpander.cs
- XmlHierarchyData.cs
- ComponentDispatcher.cs
- CatalogPartCollection.cs
- EntityParameter.cs
- InfoCardBinaryReader.cs
- OperationInfo.cs
- TextParaClient.cs
- TextDpi.cs
- CodeIndexerExpression.cs
- FlowDocumentScrollViewer.cs
- HttpCacheParams.cs
- JsonUriDataContract.cs
- _CommandStream.cs
- ComponentCollection.cs
- Pair.cs
- UpWmlMobileTextWriter.cs
- PeerConnector.cs
- EFColumnProvider.cs
- Rotation3DAnimationUsingKeyFrames.cs
- SafeFileMapViewHandle.cs
- ImageListStreamer.cs
- RequestTimeoutManager.cs
- SR.cs
- DataGridViewCellLinkedList.cs
- LinqToSqlWrapper.cs
- WsdlParser.cs
- ProjectionCamera.cs