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
- DiscreteKeyFrames.cs
- CompModSwitches.cs
- ListSortDescription.cs
- Image.cs
- GraphicsState.cs
- WebPartUserCapability.cs
- TemplateField.cs
- TouchesOverProperty.cs
- OptimalBreakSession.cs
- BoundColumn.cs
- ReadOnlyTernaryTree.cs
- ObjectDataSource.cs
- TreeNodeConverter.cs
- QilInvokeEarlyBound.cs
- MailMessage.cs
- DeleteMemberBinder.cs
- WindowsListViewItem.cs
- CodeMemberMethod.cs
- SchemaSetCompiler.cs
- httpstaticobjectscollection.cs
- SchemaInfo.cs
- OdbcParameterCollection.cs
- XPathNodeInfoAtom.cs
- ScriptManager.cs
- XhtmlBasicValidatorAdapter.cs
- XmlLoader.cs
- CodeDirectiveCollection.cs
- _ProxyChain.cs
- BaseCollection.cs
- LayoutEditorPart.cs
- ToolStripManager.cs
- WaitHandleCannotBeOpenedException.cs
- CustomExpression.cs
- LoginView.cs
- InnerItemCollectionView.cs
- AnnotationAdorner.cs
- TextEffectCollection.cs
- ComboBoxRenderer.cs
- UnsafeNativeMethods.cs
- DispatcherEventArgs.cs
- ZipPackagePart.cs
- ExpandoObject.cs
- SmiXetterAccessMap.cs
- IntSecurity.cs
- StandardRuntimeEnumValidator.cs
- DateTimePicker.cs
- TcpProcessProtocolHandler.cs
- TypeConverterHelper.cs
- ElementUtil.cs
- FieldNameLookup.cs
- InternalMappingException.cs
- Win32Interop.cs
- WebSysDisplayNameAttribute.cs
- BrowserCapabilitiesCodeGenerator.cs
- BitmapInitialize.cs
- DbConnectionPoolOptions.cs
- CurrencyWrapper.cs
- RTLAwareMessageBox.cs
- HtmlContainerControl.cs
- ValueProviderWrapper.cs
- TransformCollection.cs
- RequestBringIntoViewEventArgs.cs
- RubberbandSelector.cs
- Rect3DConverter.cs
- ListenerSessionConnectionReader.cs
- FactoryId.cs
- AuthenticatedStream.cs
- AuthenticationService.cs
- TripleDESCryptoServiceProvider.cs
- TreeViewImageIndexConverter.cs
- ByteStack.cs
- RemotingConfiguration.cs
- _ProxyChain.cs
- ToolStripEditorManager.cs
- IndicCharClassifier.cs
- WebPartVerb.cs
- CompilerInfo.cs
- HeaderElement.cs
- WebPartEventArgs.cs
- ComponentDispatcherThread.cs
- AndCondition.cs
- DecoderFallback.cs
- KeyEventArgs.cs
- unitconverter.cs
- SafeLibraryHandle.cs
- BufferedGraphicsManager.cs
- SafeLocalAllocation.cs
- TdsParser.cs
- Rotation3D.cs
- SafeBitVector32.cs
- MetadataProperty.cs
- SynchronizedInputHelper.cs
- ParserExtension.cs
- HyperLinkColumn.cs
- Attributes.cs
- SQLMoneyStorage.cs
- DetailsViewDeletedEventArgs.cs
- LocalizationParserHooks.cs
- Binding.cs
- SecurityResources.cs