Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / Drawing / System / Drawing / Design / FontEditor.cs / 1 / FontEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Drawing.Design { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.ComponentModel; using Microsoft.Win32; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; ////// /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public class FontEditor : UITypeEditor { private FontDialog fontDialog; private object value; ///Provides a font editor that /// is used to visually select and configure a Font /// object. ////// /// Edits the given object value using the editor style provided by /// GetEditorStyle. A service provider is provided so that any /// required editing services can be obtained. /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { this.value = value; Debug.Assert(provider != null, "No service provider; we cannot edit the value"); if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(edSvc != null, "No editor service; we cannot edit the value"); if (edSvc != null) { if (fontDialog == null) { fontDialog = new FontDialog(); fontDialog.ShowApply = false; fontDialog.ShowColor = false; fontDialog.AllowVerticalFonts = false; } Font fontvalue = value as Font; if (fontvalue != null) { fontDialog.Font = fontvalue; } IntPtr hwndFocus = UnsafeNativeMethods.GetFocus(); try { if (fontDialog.ShowDialog() == DialogResult.OK) { this.value = fontDialog.Font; } } finally { if (hwndFocus != IntPtr.Zero) { UnsafeNativeMethods.SetFocus(new HandleRef(null, hwndFocus)); } } } } // Now pull out the updated value, if there was one. // value = this.value; this.value = null; return value; } ////// /// Retrieves the editing style of the Edit method. If the method /// is not supported, this will return None. /// public override UITypeEditorEditStyle GetEditStyle(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
- SchemaCollectionCompiler.cs
- ColorMap.cs
- SettingsAttributeDictionary.cs
- TextureBrush.cs
- DisplayInformation.cs
- ContractHandle.cs
- storagemappingitemcollection.viewdictionary.cs
- PersonalizationProviderHelper.cs
- Certificate.cs
- WebBaseEventKeyComparer.cs
- CodeIndexerExpression.cs
- HighlightVisual.cs
- AsymmetricSignatureDeformatter.cs
- ValidatedControlConverter.cs
- ExpressionValueEditor.cs
- WS2007HttpBindingCollectionElement.cs
- ObjectIDGenerator.cs
- GridLength.cs
- AuthenticationModuleElementCollection.cs
- StructuredTypeInfo.cs
- UnsafeNativeMethods.cs
- VariableBinder.cs
- Odbc32.cs
- FixedElement.cs
- QueuePathDialog.cs
- SmtpDigestAuthenticationModule.cs
- AccessDataSourceView.cs
- SymLanguageType.cs
- XmlDataSourceView.cs
- ImportCatalogPart.cs
- XDRSchema.cs
- _ConnectionGroup.cs
- MessageQueuePermissionEntry.cs
- WindowsTokenRoleProvider.cs
- DefaultHttpHandler.cs
- _CacheStreams.cs
- StrokeRenderer.cs
- SchemaMerger.cs
- Visual3D.cs
- BitmapMetadata.cs
- EntityDataSourceConfigureObjectContext.cs
- Span.cs
- ModifierKeysValueSerializer.cs
- PersonalizationAdministration.cs
- InputLangChangeEvent.cs
- ObsoleteAttribute.cs
- XNodeNavigator.cs
- DataServiceQueryProvider.cs
- Image.cs
- SweepDirectionValidation.cs
- NonSerializedAttribute.cs
- StyleSelector.cs
- CapabilitiesSection.cs
- _NestedSingleAsyncResult.cs
- UriTemplateDispatchFormatter.cs
- Renderer.cs
- VisualBrush.cs
- DataBoundControl.cs
- GeneralTransform3DTo2DTo3D.cs
- AuthenticationConfig.cs
- FlowDocumentPaginator.cs
- ScriptingProfileServiceSection.cs
- CounterSampleCalculator.cs
- SinglePageViewer.cs
- PropertyRecord.cs
- TreeViewHitTestInfo.cs
- BitConverter.cs
- PropertyChangedEventArgs.cs
- SqlDelegatedTransaction.cs
- ConfigurationFileMap.cs
- SetStoryboardSpeedRatio.cs
- WorkflowValidationFailedException.cs
- SqlDependency.cs
- UrlParameterReader.cs
- HttpModule.cs
- BindingContext.cs
- InkCollectionBehavior.cs
- BitmapData.cs
- MetaData.cs
- TargetParameterCountException.cs
- FlowLayoutPanel.cs
- SendMailErrorEventArgs.cs
- TypeBuilder.cs
- XPathDocumentNavigator.cs
- PropertyItem.cs
- FactoryGenerator.cs
- SqlProviderServices.cs
- ScriptingSectionGroup.cs
- CompositionCommandSet.cs
- storepermission.cs
- ConfigurationManagerHelper.cs
- HandleCollector.cs
- HtmlInputCheckBox.cs
- AppDomainAttributes.cs
- DetailsView.cs
- SqlResolver.cs
- CannotUnloadAppDomainException.cs
- ConfigurationPropertyCollection.cs
- QilReplaceVisitor.cs
- FormsAuthenticationModule.cs