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
- HttpModuleCollection.cs
- PreservationFileReader.cs
- CompleteWizardStep.cs
- DefaultHttpHandler.cs
- SymbolType.cs
- HttpGetProtocolImporter.cs
- SqlClientPermission.cs
- EntitySqlQueryBuilder.cs
- XPathDescendantIterator.cs
- HtmlFormParameterWriter.cs
- DrawingGroup.cs
- StaticContext.cs
- QilSortKey.cs
- HttpClientCertificate.cs
- SqlDataSourceCommandEventArgs.cs
- Point3DAnimationUsingKeyFrames.cs
- iisPickupDirectory.cs
- ComponentDispatcherThread.cs
- InputLanguageManager.cs
- IndexedString.cs
- Pair.cs
- GridEntry.cs
- ToolStripDropDownMenu.cs
- NetSectionGroup.cs
- SiteMapDataSource.cs
- ScrollProperties.cs
- Conditional.cs
- MobileListItem.cs
- DataGridViewCellMouseEventArgs.cs
- TextTreeRootTextBlock.cs
- SchemaElement.cs
- WeakKeyDictionary.cs
- ToolStripSeparator.cs
- RuleSettingsCollection.cs
- ActivityXamlServices.cs
- SchemaEntity.cs
- FormViewInsertEventArgs.cs
- EventLogPropertySelector.cs
- MouseGesture.cs
- Int32RectValueSerializer.cs
- GenericWebPart.cs
- ErrorFormatter.cs
- TogglePattern.cs
- PEFileEvidenceFactory.cs
- WorkflowServiceHostFactory.cs
- DocumentPageViewAutomationPeer.cs
- SequenceQuery.cs
- BaseUriHelper.cs
- DataGridCaption.cs
- WebZone.cs
- MailHeaderInfo.cs
- DesignBinding.cs
- ElementAtQueryOperator.cs
- ColorContext.cs
- GridViewCellAutomationPeer.cs
- HttpsTransportBindingElement.cs
- SchemaImporterExtension.cs
- EmbeddedMailObject.cs
- HtmlTitle.cs
- KnownTypeAttribute.cs
- CodeLabeledStatement.cs
- XmlSchemaComplexType.cs
- WebResourceUtil.cs
- XmlUtil.cs
- NamespaceInfo.cs
- FieldTemplateUserControl.cs
- CryptoApi.cs
- PrintDialogException.cs
- Int64AnimationBase.cs
- ScrollableControl.cs
- MD5.cs
- GroupDescription.cs
- _LoggingObject.cs
- PersonalizationProviderCollection.cs
- UnsafeNativeMethods.cs
- columnmapfactory.cs
- SafeRightsManagementSessionHandle.cs
- TPLETWProvider.cs
- ApplicationServiceManager.cs
- RealizationDrawingContextWalker.cs
- Scene3D.cs
- Lease.cs
- XmlBinaryReader.cs
- PropertyEmitter.cs
- TableLayoutStyle.cs
- OleDbConnectionInternal.cs
- DBCommandBuilder.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- XmlSignatureProperties.cs
- SetterBaseCollection.cs
- ModelVisual3D.cs
- QuotedPrintableStream.cs
- sqlmetadatafactory.cs
- HtmlShim.cs
- ClientRoleProvider.cs
- QuaternionRotation3D.cs
- BitmapFrame.cs
- BoundingRectTracker.cs
- UnionCqlBlock.cs
- BuildProviderUtils.cs