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
- ExpressionPrefixAttribute.cs
- DataGridRow.cs
- TextElementAutomationPeer.cs
- SponsorHelper.cs
- GetMemberBinder.cs
- SerializationEventsCache.cs
- mactripleDES.cs
- MobileErrorInfo.cs
- CodeAttributeDeclaration.cs
- columnmapfactory.cs
- SqlDataAdapter.cs
- TabControlDesigner.cs
- Color.cs
- PagesSection.cs
- WorkflowRuntimeServiceElementCollection.cs
- PresentationSource.cs
- SqlDataReaderSmi.cs
- FutureFactory.cs
- DataContract.cs
- CodeMemberEvent.cs
- Track.cs
- EnumMemberAttribute.cs
- InteropDesigner.xaml.cs
- ProcessModelInfo.cs
- FrameworkRichTextComposition.cs
- ListViewItemEventArgs.cs
- CustomCategoryAttribute.cs
- UnaryOperationBinder.cs
- EmptyEnumerable.cs
- FormViewUpdatedEventArgs.cs
- HashCryptoHandle.cs
- StrokeRenderer.cs
- SqlLiftWhereClauses.cs
- DelegateBodyWriter.cs
- FloaterBaseParagraph.cs
- Dump.cs
- List.cs
- XhtmlBasicLabelAdapter.cs
- SchemaDeclBase.cs
- METAHEADER.cs
- HyperLink.cs
- RoutingExtensionElement.cs
- CodeSpit.cs
- DoubleConverter.cs
- ProcessProtocolHandler.cs
- HttpListenerException.cs
- QilBinary.cs
- ReadingWritingEntityEventArgs.cs
- StrokeNodeOperations.cs
- SatelliteContractVersionAttribute.cs
- AnonymousIdentificationModule.cs
- QilCloneVisitor.cs
- DecoderReplacementFallback.cs
- EdmItemCollection.cs
- ToolStripSplitStackLayout.cs
- Utils.cs
- VoiceSynthesis.cs
- BindingExpression.cs
- X500Name.cs
- IdnMapping.cs
- DateTimeConverter.cs
- ProfileInfo.cs
- NetPeerTcpBinding.cs
- ILGenerator.cs
- CodePageUtils.cs
- BinaryObjectReader.cs
- TextElement.cs
- AssemblyAttributesGoHere.cs
- BaseInfoTable.cs
- BooleanStorage.cs
- EllipseGeometry.cs
- ComboBoxAutomationPeer.cs
- SchemaImporterExtension.cs
- StringSource.cs
- Tokenizer.cs
- LongValidatorAttribute.cs
- PointF.cs
- SQLDecimalStorage.cs
- DesignTimeTemplateParser.cs
- SafeNativeMethods.cs
- DataGridColumnDropSeparator.cs
- Point3DValueSerializer.cs
- Vector3DCollectionConverter.cs
- TypeSchema.cs
- KerberosSecurityTokenProvider.cs
- ColorContext.cs
- InternalControlCollection.cs
- LinqTreeNodeEvaluator.cs
- GeneralTransform3DCollection.cs
- EdmProviderManifest.cs
- PhysicalFontFamily.cs
- EncodingNLS.cs
- ProtocolsSection.cs
- PersonalizableTypeEntry.cs
- ValidationResult.cs
- TextDecorationCollection.cs
- GroupStyle.cs
- ImageField.cs
- DeviceSpecificChoice.cs
- Stack.cs