Code:
/ FX-1434 / FX-1434 / 1.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
- ECDiffieHellmanCng.cs
- TargetParameterCountException.cs
- PrintPreviewControl.cs
- SessionIDManager.cs
- Form.cs
- AccessText.cs
- PageThemeCodeDomTreeGenerator.cs
- RelativeSource.cs
- X509Chain.cs
- StatusBarItemAutomationPeer.cs
- ObjectViewEntityCollectionData.cs
- AnnotationResourceCollection.cs
- DictionarySectionHandler.cs
- FilePrompt.cs
- ScriptReferenceBase.cs
- SpellerHighlightLayer.cs
- AppDomainProtocolHandler.cs
- PlaceHolder.cs
- OuterGlowBitmapEffect.cs
- NetworkCredential.cs
- EntityContainerRelationshipSetEnd.cs
- CqlWriter.cs
- EntityStoreSchemaGenerator.cs
- HttpFormatExtensions.cs
- DescendentsWalkerBase.cs
- HttpAsyncResult.cs
- remotingproxy.cs
- CatalogPartChrome.cs
- TextWriterEngine.cs
- ServiceDocument.cs
- SubpageParagraph.cs
- DependencyPropertyKey.cs
- InProcStateClientManager.cs
- ParserContext.cs
- invalidudtexception.cs
- XamlFilter.cs
- Oid.cs
- FunctionMappingTranslator.cs
- IsolationInterop.cs
- ReverseQueryOperator.cs
- PropertyFilterAttribute.cs
- WebEvents.cs
- TransformGroup.cs
- MultiPartWriter.cs
- WebPartDescription.cs
- OdbcException.cs
- SendingRequestEventArgs.cs
- Message.cs
- PanelContainerDesigner.cs
- OdbcConnectionHandle.cs
- JsonFormatGeneratorStatics.cs
- WorkflowViewElement.cs
- InputManager.cs
- AppDomainManager.cs
- ColorIndependentAnimationStorage.cs
- LinqDataSourceSelectEventArgs.cs
- CryptographicAttribute.cs
- CodeIdentifier.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- BatchParser.cs
- PropertiesTab.cs
- DataObjectAttribute.cs
- DataBoundControlAdapter.cs
- _AutoWebProxyScriptHelper.cs
- Barrier.cs
- CodeTypeDeclarationCollection.cs
- DurableTimerExtension.cs
- CngProvider.cs
- AnnotationResource.cs
- ExceptionCollection.cs
- RecordsAffectedEventArgs.cs
- RTLAwareMessageBox.cs
- StorageBasedPackageProperties.cs
- TypeConverter.cs
- PerformanceCounterManager.cs
- CommandBindingCollection.cs
- ScriptServiceAttribute.cs
- sqlcontext.cs
- PropertyInfoSet.cs
- WhitespaceRule.cs
- FileClassifier.cs
- MetabaseSettingsIis7.cs
- AdornerLayer.cs
- InstancePersistence.cs
- SqlClientWrapperSmiStreamChars.cs
- SqlConnectionHelper.cs
- LoginUtil.cs
- DialogResultConverter.cs
- XmlAnyElementAttribute.cs
- HttpServerUtilityBase.cs
- _ListenerRequestStream.cs
- ObjectListItemCollection.cs
- SmiSettersStream.cs
- XmlSerializableServices.cs
- ShaderEffect.cs
- AttachInfo.cs
- SelectedDatesCollection.cs
- TextInfo.cs
- FormsAuthenticationConfiguration.cs
- Monitor.cs