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
- WebPageTraceListener.cs
- DetailsViewModeEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- ChangeDirector.cs
- BaseTreeIterator.cs
- DefaultDiscoveryServiceExtension.cs
- Base64Decoder.cs
- ViewStateAttachedPropertyFeature.cs
- SchemaObjectWriter.cs
- DirectoryObjectSecurity.cs
- ContainerFilterService.cs
- SystemUnicastIPAddressInformation.cs
- metadatamappinghashervisitor.cs
- Table.cs
- CodeGroup.cs
- UnionCqlBlock.cs
- WebZone.cs
- SourceLocationProvider.cs
- HandlerBase.cs
- AssemblyLoader.cs
- _NtlmClient.cs
- EditCommandColumn.cs
- XmlWrappingReader.cs
- IConvertible.cs
- MulticastDelegate.cs
- FilteredDataSetHelper.cs
- StateItem.cs
- SafeCryptoHandles.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- WebHttpEndpoint.cs
- CompiledRegexRunner.cs
- TransactionState.cs
- SecureUICommand.cs
- SrgsElementFactoryCompiler.cs
- SqlUDTStorage.cs
- HtmlWindowCollection.cs
- MemberDescriptor.cs
- GeometryGroup.cs
- DataGridViewAutoSizeModeEventArgs.cs
- AbstractDataSvcMapFileLoader.cs
- WMIInterop.cs
- WorkflowMarkupSerializationProvider.cs
- Variant.cs
- BooleanAnimationBase.cs
- XmlElementAttributes.cs
- AttachedAnnotationChangedEventArgs.cs
- SystemWebCachingSectionGroup.cs
- DbModificationCommandTree.cs
- CustomValidator.cs
- TrackingLocationCollection.cs
- DesignerHelpers.cs
- ReadOnlyTernaryTree.cs
- ComPersistableTypeElement.cs
- OperatingSystem.cs
- XsltFunctions.cs
- DefaultEventAttribute.cs
- RTTrackingProfile.cs
- CollectionBuilder.cs
- FreezableCollection.cs
- XmlSiteMapProvider.cs
- HMACSHA256.cs
- MultiSelector.cs
- DirectoryObjectSecurity.cs
- InputMethodStateTypeInfo.cs
- InProcStateClientManager.cs
- DataObjectEventArgs.cs
- BasePattern.cs
- NameValueFileSectionHandler.cs
- ContentFilePart.cs
- TransformProviderWrapper.cs
- AdapterDictionary.cs
- TableStyle.cs
- OdbcConnection.cs
- EdmError.cs
- Control.cs
- XmlReflectionImporter.cs
- XmlEntityReference.cs
- SafeLibraryHandle.cs
- RequestQueue.cs
- PrintingPermissionAttribute.cs
- CaseInsensitiveComparer.cs
- CollectionViewGroup.cs
- ViewBase.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- UserControlParser.cs
- HttpResponseHeader.cs
- EntityDataSourceContainerNameItem.cs
- RegexCompiler.cs
- returneventsaver.cs
- SiteMapNodeItemEventArgs.cs
- DataStreams.cs
- SByteStorage.cs
- EventSetter.cs
- WebPartUserCapability.cs
- DataGridCell.cs
- HMACRIPEMD160.cs
- Win32KeyboardDevice.cs
- TimeSpanFormat.cs
- PersonalizationState.cs
- WebPartVerbCollection.cs