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
- Transform3DCollection.cs
- XmlQueryStaticData.cs
- XmlSchemaGroupRef.cs
- XmlElementList.cs
- DynamicValidatorEventArgs.cs
- CompressedStack.cs
- Repeater.cs
- PreviewPrintController.cs
- StrokeSerializer.cs
- QueryOptionExpression.cs
- HtmlEmptyTagControlBuilder.cs
- DomainUpDown.cs
- BinaryKeyIdentifierClause.cs
- LineSegment.cs
- TreeViewAutomationPeer.cs
- PolyBezierSegmentFigureLogic.cs
- CurrentChangingEventArgs.cs
- AssertSection.cs
- DbBuffer.cs
- GlyphTypeface.cs
- DbParameterHelper.cs
- CodeNamespaceImportCollection.cs
- DataTemplate.cs
- AsyncStreamReader.cs
- XamlFilter.cs
- BoundPropertyEntry.cs
- ConfigXmlSignificantWhitespace.cs
- ObjectStateEntryDbDataRecord.cs
- ControlPropertyNameConverter.cs
- ComponentManagerBroker.cs
- SafeTokenHandle.cs
- ProcessInfo.cs
- BoundField.cs
- PagePropertiesChangingEventArgs.cs
- LinearKeyFrames.cs
- PackageDigitalSignature.cs
- ScriptDescriptor.cs
- PrimitiveSchema.cs
- PropertyIDSet.cs
- ConfigurationValue.cs
- Opcode.cs
- smtpconnection.cs
- TextEffectResolver.cs
- WindowsBrush.cs
- StaticSiteMapProvider.cs
- CodeParameterDeclarationExpression.cs
- NullableConverter.cs
- RuntimeIdentifierPropertyAttribute.cs
- ClientSideProviderDescription.cs
- StructuralComparisons.cs
- DBParameter.cs
- XmlILAnnotation.cs
- ValueSerializer.cs
- ListBox.cs
- ReachObjectContext.cs
- DurableInstanceManager.cs
- RemoteWebConfigurationHost.cs
- BooleanFunctions.cs
- MultiSelectRootGridEntry.cs
- XmlMemberMapping.cs
- RemotingSurrogateSelector.cs
- ParserStreamGeometryContext.cs
- RegionInfo.cs
- FixedSOMTable.cs
- StringExpressionSet.cs
- _NegoState.cs
- IdentityNotMappedException.cs
- BaseValidator.cs
- PanelStyle.cs
- HttpMethodConstraint.cs
- RestClientProxyHandler.cs
- SqlServer2KCompatibilityAnnotation.cs
- DataControlImageButton.cs
- ServiceHttpModule.cs
- KnowledgeBase.cs
- ObfuscationAttribute.cs
- BaseTemplateCodeDomTreeGenerator.cs
- EntityObject.cs
- XmlSchemaImport.cs
- PointAnimationClockResource.cs
- ProviderException.cs
- Transform.cs
- ClientApiGenerator.cs
- TdsParameterSetter.cs
- WinInetCache.cs
- PrimitiveCodeDomSerializer.cs
- AudioFileOut.cs
- PropertyTabAttribute.cs
- PeerEndPoint.cs
- IgnoreFlushAndCloseStream.cs
- DataError.cs
- CancellationState.cs
- ExpressionEditorAttribute.cs
- FunctionNode.cs
- SetStoryboardSpeedRatio.cs
- EventTrigger.cs
- IconBitmapDecoder.cs
- UrlMappingsModule.cs
- TableLayoutStyle.cs
- DataServiceQuery.cs