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
- MSHTMLHost.cs
- MetadataReference.cs
- SequentialOutput.cs
- TokenBasedSet.cs
- RuleProcessor.cs
- SqlConnectionHelper.cs
- Camera.cs
- ListBoxItemAutomationPeer.cs
- DataGridViewCellValidatingEventArgs.cs
- XmlSchemaNotation.cs
- PtsCache.cs
- DependencyPropertyKind.cs
- AnyAllSearchOperator.cs
- DependencyPropertyKind.cs
- ProviderConnectionPointCollection.cs
- CellTreeNode.cs
- DataControlFieldHeaderCell.cs
- RectangleGeometry.cs
- ServiceHost.cs
- Int32Rect.cs
- ManagementClass.cs
- HuffCodec.cs
- DragEventArgs.cs
- EventDriven.cs
- PowerStatus.cs
- GridItemPatternIdentifiers.cs
- TextViewDesigner.cs
- TokenBasedSetEnumerator.cs
- CodeEventReferenceExpression.cs
- DependentList.cs
- AsyncOperation.cs
- EventWaitHandleSecurity.cs
- Shape.cs
- DependencyPropertyDescriptor.cs
- DbConnectionPoolGroup.cs
- CreateUserWizardStep.cs
- StrokeNodeEnumerator.cs
- Misc.cs
- ResourceAssociationSet.cs
- datacache.cs
- UseManagedPresentationBindingElement.cs
- ResXResourceWriter.cs
- ToolboxItem.cs
- WCFModelStrings.Designer.cs
- JpegBitmapDecoder.cs
- Guid.cs
- _UriTypeConverter.cs
- FontFamilyValueSerializer.cs
- PointF.cs
- DrawToolTipEventArgs.cs
- DeclarationUpdate.cs
- Viewport3DAutomationPeer.cs
- BulletDecorator.cs
- SQLDecimal.cs
- AttachmentService.cs
- ReferencedCollectionType.cs
- GridViewColumnCollection.cs
- AutomationFocusChangedEventArgs.cs
- MDIWindowDialog.cs
- ColumnHeaderConverter.cs
- PolygonHotSpot.cs
- MediaSystem.cs
- KoreanLunisolarCalendar.cs
- AuthenticationServiceManager.cs
- ColorAnimation.cs
- TabItem.cs
- Viewport2DVisual3D.cs
- AppDomainAttributes.cs
- ScriptModule.cs
- CodeDomConfigurationHandler.cs
- FilterQuery.cs
- PartitionedDataSource.cs
- StreamInfo.cs
- ConfigurationLocationCollection.cs
- TrustLevelCollection.cs
- HtmlInputSubmit.cs
- MemoryResponseElement.cs
- DockPatternIdentifiers.cs
- PrimitiveCodeDomSerializer.cs
- ClassValidator.cs
- PermissionToken.cs
- NavigationProperty.cs
- XmlDataSource.cs
- PenThreadPool.cs
- SqlCommand.cs
- SynchronizedPool.cs
- Switch.cs
- PlainXmlWriter.cs
- TypeLibConverter.cs
- XmlIgnoreAttribute.cs
- CodeMemberProperty.cs
- TypeSource.cs
- FormClosingEvent.cs
- StringWriter.cs
- ControlAdapter.cs
- Material.cs
- TagPrefixCollection.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ProfileGroupSettings.cs
- AliasExpr.cs