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
- VirtualDirectoryMapping.cs
- XmlObjectSerializerWriteContext.cs
- DrawingDrawingContext.cs
- XmlDocumentSurrogate.cs
- CompositeActivityDesigner.cs
- CompoundFileIOPermission.cs
- ForeignConstraint.cs
- LeaseManager.cs
- DashStyles.cs
- XmlAttribute.cs
- SecurityImpersonationBehavior.cs
- AttributeTableBuilder.cs
- DataGridTextBoxColumn.cs
- HttpClientCertificate.cs
- ProjectionPruner.cs
- XmlEncApr2001.cs
- ListViewDataItem.cs
- SetState.cs
- ServiceReference.cs
- XmlAttribute.cs
- ExpandoObject.cs
- StylusPlugin.cs
- FtpWebResponse.cs
- Size3DValueSerializer.cs
- SimpleWorkerRequest.cs
- DataBinding.cs
- FrameworkContentElementAutomationPeer.cs
- FormView.cs
- TimeSpanOrInfiniteConverter.cs
- DataGrid.cs
- ByteStream.cs
- ConstructorBuilder.cs
- ExtendedPropertyDescriptor.cs
- OracleCommandSet.cs
- IncrementalReadDecoders.cs
- CheckPair.cs
- SymbolEqualComparer.cs
- ModifyActivitiesPropertyDescriptor.cs
- XXXOnTypeBuilderInstantiation.cs
- SimpleWorkerRequest.cs
- BodyWriter.cs
- ListViewGroupItemCollection.cs
- Pair.cs
- PlanCompilerUtil.cs
- DataErrorValidationRule.cs
- PropertyGrid.cs
- InfoCardRequestException.cs
- ChangeNode.cs
- CodeTryCatchFinallyStatement.cs
- PtsContext.cs
- GridViewColumnHeader.cs
- SQLInt32.cs
- NativeMethods.cs
- SerializableAttribute.cs
- Listbox.cs
- WebPartConnectVerb.cs
- uribuilder.cs
- ParseNumbers.cs
- DataGridRowDetailsEventArgs.cs
- PropertySegmentSerializationProvider.cs
- PseudoWebRequest.cs
- DocumentAutomationPeer.cs
- ProxyWebPartManager.cs
- sqlmetadatafactory.cs
- ToolStripItemImageRenderEventArgs.cs
- SqlDataSourceCustomCommandEditor.cs
- BatchServiceHost.cs
- ExtensionDataObject.cs
- TextContainerHelper.cs
- TextRunTypographyProperties.cs
- PersistenceProviderElement.cs
- SchemaElementLookUpTableEnumerator.cs
- XmlNamespaceDeclarationsAttribute.cs
- ButtonColumn.cs
- _UriTypeConverter.cs
- StandardOleMarshalObject.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- GeneralTransformGroup.cs
- DataGridViewLinkColumn.cs
- TemplateBindingExpression.cs
- CompilationLock.cs
- FixedSOMFixedBlock.cs
- EventWaitHandle.cs
- ComNativeDescriptor.cs
- SupportsEventValidationAttribute.cs
- MutableAssemblyCacheEntry.cs
- FormatterServicesNoSerializableCheck.cs
- SystemIdentity.cs
- TreeViewCancelEvent.cs
- ZipIOCentralDirectoryBlock.cs
- ToolZone.cs
- GroupByQueryOperator.cs
- ApplicationInfo.cs
- RequestSecurityTokenForGetBrowserToken.cs
- ZipPackage.cs
- FileUtil.cs
- Translator.cs
- XPathDocument.cs
- ViewValidator.cs
- PropertyTabAttribute.cs