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
- ActiveXHost.cs
- TextDecoration.cs
- PartialTrustVisibleAssemblyCollection.cs
- FixedFindEngine.cs
- IsolatedStoragePermission.cs
- StoragePropertyMapping.cs
- HostSecurityManager.cs
- QilChoice.cs
- _SSPISessionCache.cs
- MailAddress.cs
- FontWeights.cs
- MenuItemBindingCollection.cs
- MsmqIntegrationChannelListener.cs
- XmlAttributeCollection.cs
- SQLResource.cs
- Model3D.cs
- x509store.cs
- DurableErrorHandler.cs
- BaseUriHelper.cs
- EntitySqlQueryState.cs
- thaishape.cs
- BinaryObjectWriter.cs
- HttpFileCollection.cs
- Group.cs
- XmlSchemaChoice.cs
- ConvertTextFrag.cs
- AliasedExpr.cs
- VScrollBar.cs
- MenuItem.cs
- XamlStackWriter.cs
- SQLRoleProvider.cs
- WorkflowItemPresenter.cs
- OperatingSystem.cs
- BamlWriter.cs
- ParallelQuery.cs
- DBSchemaTable.cs
- InternalSafeNativeMethods.cs
- DataGridViewCellPaintingEventArgs.cs
- SelectedPathEditor.cs
- RootBuilder.cs
- ConnectionStringsSection.cs
- ExpressionStringBuilder.cs
- Span.cs
- BrowserCapabilitiesCompiler.cs
- SuppressMergeCheckAttribute.cs
- ElementNotEnabledException.cs
- HiddenField.cs
- InputGestureCollection.cs
- SqlDependencyUtils.cs
- CancellableEnumerable.cs
- CompilationUnit.cs
- StreamReader.cs
- ChoiceConverter.cs
- PrintingPermission.cs
- StrokeSerializer.cs
- NetSectionGroup.cs
- LambdaValue.cs
- StylusButton.cs
- EncryptedData.cs
- FixedSOMImage.cs
- Behavior.cs
- Boolean.cs
- XsdDataContractImporter.cs
- ResourcesChangeInfo.cs
- GZipDecoder.cs
- TabControl.cs
- CodeTypeParameterCollection.cs
- IListConverters.cs
- Literal.cs
- ServiceBusyException.cs
- BamlLocalizationDictionary.cs
- FullTextState.cs
- UnsettableComboBox.cs
- XmlWriterTraceListener.cs
- CodeTypeDeclaration.cs
- ColumnBinding.cs
- Empty.cs
- DetailsViewPagerRow.cs
- NominalTypeEliminator.cs
- DataPagerFieldItem.cs
- LinkLabel.cs
- GridViewHeaderRowPresenter.cs
- MergePropertyDescriptor.cs
- AspNetPartialTrustHelpers.cs
- PrintEvent.cs
- ServiceSecurityAuditElement.cs
- HttpVersion.cs
- Convert.cs
- RequestSecurityToken.cs
- Imaging.cs
- AudioStateChangedEventArgs.cs
- URLAttribute.cs
- EpmCustomContentDeSerializer.cs
- DockPattern.cs
- NativeMethods.cs
- ListViewInsertedEventArgs.cs
- Gdiplus.cs
- KeysConverter.cs
- ImageFormatConverter.cs
- MemoryResponseElement.cs