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
- InstanceKeyNotReadyException.cs
- StorageTypeMapping.cs
- DocumentPageView.cs
- DataViewListener.cs
- ToolboxItemFilterAttribute.cs
- cryptoapiTransform.cs
- FormViewModeEventArgs.cs
- SafeFindHandle.cs
- RecognizerStateChangedEventArgs.cs
- ObjectDataProvider.cs
- ImageDrawing.cs
- KnownTypeAttribute.cs
- FixedFlowMap.cs
- TextCompositionEventArgs.cs
- RuntimeHelpers.cs
- DataGridViewHeaderCell.cs
- MemoryFailPoint.cs
- BoundColumn.cs
- WorkflowInvoker.cs
- MenuCommands.cs
- BamlLocalizationDictionary.cs
- CssTextWriter.cs
- PersonalizationProvider.cs
- RelatedEnd.cs
- UidPropertyAttribute.cs
- DataGridLinkButton.cs
- RenamedEventArgs.cs
- TypedTableGenerator.cs
- ContentFileHelper.cs
- CaseInsensitiveOrdinalStringComparer.cs
- TextInfo.cs
- BuiltInPermissionSets.cs
- InputProcessorProfilesLoader.cs
- ObjectList.cs
- FileEnumerator.cs
- BaseResourcesBuildProvider.cs
- FlowDocumentReader.cs
- CatalogPart.cs
- MergablePropertyAttribute.cs
- XmlHierarchyData.cs
- TableLayoutPanelResizeGlyph.cs
- Int32Converter.cs
- TypeExtension.cs
- Registry.cs
- URLIdentityPermission.cs
- WebEventCodes.cs
- SimpleBitVector32.cs
- Transform3DGroup.cs
- CreatingCookieEventArgs.cs
- RSAPKCS1SignatureFormatter.cs
- DataGridSortCommandEventArgs.cs
- WorkItem.cs
- NumberSubstitution.cs
- AdornedElementPlaceholder.cs
- DbConnectionPoolCounters.cs
- DeclarativeExpressionConditionDeclaration.cs
- PackageRelationshipSelector.cs
- ApplicationDirectoryMembershipCondition.cs
- JapaneseLunisolarCalendar.cs
- DbProviderFactories.cs
- Classification.cs
- FixedDSBuilder.cs
- BitmapPalette.cs
- AttributedMetaModel.cs
- DesignTimeParseData.cs
- RankException.cs
- UpdatePanelTrigger.cs
- SoapInteropTypes.cs
- Rule.cs
- COM2IDispatchConverter.cs
- InvalidOperationException.cs
- __Filters.cs
- _NestedSingleAsyncResult.cs
- TableSectionStyle.cs
- RelationshipConstraintValidator.cs
- ImageBrush.cs
- HtmlTernaryTree.cs
- InstalledFontCollection.cs
- FormViewCommandEventArgs.cs
- TypeConvertions.cs
- UriExt.cs
- Shape.cs
- AvTrace.cs
- Parameter.cs
- DrawingImage.cs
- LinkConverter.cs
- PathData.cs
- State.cs
- FontFaceLayoutInfo.cs
- HttpModuleActionCollection.cs
- SqlWriter.cs
- _AutoWebProxyScriptEngine.cs
- RightsManagementPermission.cs
- SiteMapNode.cs
- SspiWrapper.cs
- WasEndpointConfigContainer.cs
- SmtpNetworkElement.cs
- DirectoryObjectSecurity.cs
- PassportAuthenticationEventArgs.cs
- Perspective.cs