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
- EventDescriptor.cs
- TableDetailsCollection.cs
- ScrollPatternIdentifiers.cs
- LoginName.cs
- GACMembershipCondition.cs
- URLIdentityPermission.cs
- XmlNodeChangedEventManager.cs
- ScriptingJsonSerializationSection.cs
- TemplateField.cs
- ManagementInstaller.cs
- PositiveTimeSpanValidatorAttribute.cs
- NameValueCollection.cs
- UInt16Storage.cs
- HyperLinkStyle.cs
- RootNamespaceAttribute.cs
- StaticExtensionConverter.cs
- EmptyImpersonationContext.cs
- RelationshipManager.cs
- Configuration.cs
- DataGridViewButtonCell.cs
- EditingMode.cs
- WebPartConnectionsCloseVerb.cs
- TypeAccessException.cs
- XmlAnyElementAttribute.cs
- DocumentPageHost.cs
- FlowLayout.cs
- ServiceChannelFactory.cs
- ObjectSerializerFactory.cs
- ObjectStorage.cs
- BindingCompleteEventArgs.cs
- AnnotationAuthorChangedEventArgs.cs
- Crc32.cs
- HwndTarget.cs
- ParseHttpDate.cs
- RTTypeWrapper.cs
- BooleanStorage.cs
- OleDbDataReader.cs
- TileBrush.cs
- LineSegment.cs
- MediaPlayerState.cs
- XmlDataSource.cs
- TableRowGroup.cs
- ComponentChangingEvent.cs
- DeflateStream.cs
- AutomationPatternInfo.cs
- SaveFileDialog.cs
- TrackingProfileDeserializationException.cs
- RemotingServices.cs
- Help.cs
- TextWriterTraceListener.cs
- RangeValueProviderWrapper.cs
- ReplyChannel.cs
- HtmlTextArea.cs
- XmlAttributeHolder.cs
- MessageQueueConverter.cs
- TaskCanceledException.cs
- Encoder.cs
- XmlValidatingReaderImpl.cs
- AlternateViewCollection.cs
- XDRSchema.cs
- RectangleHotSpot.cs
- MetadataHelper.cs
- IdnMapping.cs
- HtmlTable.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ImageListStreamer.cs
- SafeNativeMethods.cs
- DrawingCollection.cs
- GeneratedContractType.cs
- XmlSchemaValidationException.cs
- TextEndOfParagraph.cs
- TaskFormBase.cs
- ProtocolsConfigurationHandler.cs
- XmlEncApr2001.cs
- RequestBringIntoViewEventArgs.cs
- PatternMatcher.cs
- ForeignConstraint.cs
- DragEventArgs.cs
- ValueUtilsSmi.cs
- DataServiceRequestOfT.cs
- DesignerLoader.cs
- ScriptRegistrationManager.cs
- ProfileSection.cs
- MetadataCollection.cs
- DecimalAnimationUsingKeyFrames.cs
- Animatable.cs
- HttpHandlerAction.cs
- DefaultShape.cs
- NestedContainer.cs
- OutputScope.cs
- XmlWriter.cs
- ContentValidator.cs
- DataBoundControl.cs
- RecordManager.cs
- StrongNameHelpers.cs
- QueryAccessibilityHelpEvent.cs
- BindingRestrictions.cs
- Roles.cs
- ImpersonationContext.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs