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
- BuildProviderUtils.cs
- XslAstAnalyzer.cs
- XmlAttributes.cs
- AccessDataSource.cs
- ExpressionEditorAttribute.cs
- XmlQualifiedName.cs
- MessageFilterTable.cs
- ToolboxDataAttribute.cs
- CombinedGeometry.cs
- CachedBitmap.cs
- UdpTransportSettingsElement.cs
- GraphicsContainer.cs
- ContainerParagraph.cs
- StreamHelper.cs
- CacheSection.cs
- InvokeHandlers.cs
- StringConverter.cs
- WindowsListViewGroup.cs
- SqlDataRecord.cs
- AttributeData.cs
- QuaternionKeyFrameCollection.cs
- DisplayInformation.cs
- BadImageFormatException.cs
- SkewTransform.cs
- ProcessHostServerConfig.cs
- SimpleFileLog.cs
- AccessorTable.cs
- ControlBuilder.cs
- PropertyDescriptorCollection.cs
- SqlXml.cs
- MemberAssignmentAnalysis.cs
- SimpleWebHandlerParser.cs
- VirtualDirectoryMappingCollection.cs
- ResourcePool.cs
- SqlColumnizer.cs
- PriorityBinding.cs
- Missing.cs
- PriorityQueue.cs
- SizeConverter.cs
- PreloadedPackages.cs
- ObjectListCommandsPage.cs
- UrlPath.cs
- WebPartZoneCollection.cs
- WebPartEditorApplyVerb.cs
- GenericIdentity.cs
- XmlUtil.cs
- ToolStripContentPanelDesigner.cs
- IntersectQueryOperator.cs
- DropShadowBitmapEffect.cs
- SafeCryptContextHandle.cs
- RulePatternOps.cs
- ParameterBuilder.cs
- BasicExpressionVisitor.cs
- Bits.cs
- SessionKeyExpiredException.cs
- XmlDataCollection.cs
- PolygonHotSpot.cs
- DataTableCollection.cs
- MarkupProperty.cs
- DataBinding.cs
- ConfigXmlComment.cs
- PropertyGridEditorPart.cs
- TCEAdapterGenerator.cs
- DNS.cs
- TableLayoutSettingsTypeConverter.cs
- CellRelation.cs
- AssociativeAggregationOperator.cs
- Drawing.cs
- SerializerWriterEventHandlers.cs
- Optimizer.cs
- ClientTargetSection.cs
- RotateTransform.cs
- isolationinterop.cs
- BaseCollection.cs
- invalidudtexception.cs
- FrugalMap.cs
- Trace.cs
- Int32RectValueSerializer.cs
- ProtocolViolationException.cs
- OdbcConnectionFactory.cs
- RedistVersionInfo.cs
- Error.cs
- HtmlForm.cs
- TemplateBindingExtension.cs
- Debug.cs
- ProfilePropertySettingsCollection.cs
- ModuleConfigurationInfo.cs
- XmlEncoding.cs
- COM2Properties.cs
- ToolTip.cs
- HttpInputStream.cs
- AsyncPostBackTrigger.cs
- CompilerLocalReference.cs
- Size3D.cs
- SystemFonts.cs
- StyleCollectionEditor.cs
- EncryptedXml.cs
- SimpleBitVector32.cs
- Drawing.cs
- AbstractDataSvcMapFileLoader.cs