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
- MaterialCollection.cs
- SelectionList.cs
- Link.cs
- HashCodeCombiner.cs
- ResXDataNode.cs
- CodeCastExpression.cs
- ToReply.cs
- AuthenticationService.cs
- CustomAttributeBuilder.cs
- UnmanagedMemoryStream.cs
- TargetPerspective.cs
- ZoneIdentityPermission.cs
- DbParameterCollection.cs
- HijriCalendar.cs
- MultiView.cs
- HuffmanTree.cs
- System.Data_BID.cs
- ContextInformation.cs
- TextEndOfLine.cs
- ISSmlParser.cs
- FormViewInsertEventArgs.cs
- UnsafeNativeMethods.cs
- WebAdminConfigurationHelper.cs
- EntityDataSourceContainerNameConverter.cs
- DummyDataSource.cs
- latinshape.cs
- DataTablePropertyDescriptor.cs
- DbBuffer.cs
- DataServiceKeyAttribute.cs
- LocalFileSettingsProvider.cs
- NameValuePermission.cs
- HierarchicalDataBoundControlAdapter.cs
- KeyboardNavigation.cs
- ConfigDefinitionUpdates.cs
- RadioButtonFlatAdapter.cs
- EntityClassGenerator.cs
- AbandonedMutexException.cs
- EmptyElement.cs
- FilterQueryOptionExpression.cs
- SectionInformation.cs
- DifferencingCollection.cs
- ToolCreatedEventArgs.cs
- ProfileService.cs
- _HTTPDateParse.cs
- WindowsStatic.cs
- UnmanagedHandle.cs
- Filter.cs
- SqlBooleanMismatchVisitor.cs
- Html32TextWriter.cs
- PrimitiveDataContract.cs
- HandledEventArgs.cs
- SelectionItemPattern.cs
- Facet.cs
- UriParserTemplates.cs
- MasterPageBuildProvider.cs
- TextTreePropertyUndoUnit.cs
- SerTrace.cs
- Transform.cs
- MethodSignatureGenerator.cs
- ExpressionPrinter.cs
- HandlerWithFactory.cs
- __Filters.cs
- RecommendedAsConfigurableAttribute.cs
- InternalBase.cs
- DataGridViewToolTip.cs
- OuterGlowBitmapEffect.cs
- JavaScriptString.cs
- ConstantSlot.cs
- ObjectQueryProvider.cs
- BufferBuilder.cs
- BmpBitmapEncoder.cs
- XPathLexer.cs
- Config.cs
- DataServiceBehavior.cs
- OLEDB_Enum.cs
- ObjectDataSourceChooseTypePanel.cs
- EventDescriptor.cs
- TextEffect.cs
- ImpersonateTokenRef.cs
- HashJoinQueryOperatorEnumerator.cs
- DataViewManager.cs
- WindowsIdentity.cs
- FontDriver.cs
- AspCompat.cs
- NotImplementedException.cs
- ContentValidator.cs
- NextPreviousPagerField.cs
- Handle.cs
- SmiConnection.cs
- TemplateNameScope.cs
- FormClosedEvent.cs
- RadioButtonFlatAdapter.cs
- RoleService.cs
- TraceSection.cs
- errorpatternmatcher.cs
- FeatureSupport.cs
- MessageDesigner.cs
- TickBar.cs
- WebPartActionVerb.cs
- IncomingWebRequestContext.cs