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
- DriveNotFoundException.cs
- TypeSystem.cs
- MediaContext.cs
- MD5.cs
- GeometryGroup.cs
- UInt64Storage.cs
- TraceContext.cs
- SkewTransform.cs
- IISUnsafeMethods.cs
- ReadOnlyPropertyMetadata.cs
- Compiler.cs
- PackagePart.cs
- COM2IDispatchConverter.cs
- CqlBlock.cs
- SourceFileInfo.cs
- Rect.cs
- NameValueCollection.cs
- HwndProxyElementProvider.cs
- HandledMouseEvent.cs
- WindowsHyperlink.cs
- HandledMouseEvent.cs
- TrailingSpaceComparer.cs
- bindurihelper.cs
- SqlDuplicator.cs
- Memoizer.cs
- ConstraintConverter.cs
- ForeignConstraint.cs
- SspiNegotiationTokenAuthenticator.cs
- LoginName.cs
- SqlDependencyListener.cs
- recordstatescratchpad.cs
- CultureSpecificStringDictionary.cs
- ImageKeyConverter.cs
- LineProperties.cs
- IsolatedStorageFileStream.cs
- AlternationConverter.cs
- IndexedGlyphRun.cs
- DoubleAnimationBase.cs
- DataServiceQueryException.cs
- MethodSet.cs
- SqlDesignerDataSourceView.cs
- Ref.cs
- RootBrowserWindow.cs
- SqlBooleanMismatchVisitor.cs
- BrowserDefinition.cs
- FormViewUpdateEventArgs.cs
- KeyFrames.cs
- JsonReader.cs
- TrailingSpaceComparer.cs
- CodeAttributeArgumentCollection.cs
- MenuItemStyle.cs
- Hash.cs
- httpstaticobjectscollection.cs
- ILGen.cs
- NavigationExpr.cs
- BamlTreeNode.cs
- FontSource.cs
- ConsoleCancelEventArgs.cs
- EditBehavior.cs
- XmlSchemaComplexType.cs
- EmptyStringExpandableObjectConverter.cs
- formatter.cs
- EmptyArray.cs
- DesignTimeTemplateParser.cs
- ToolboxControl.cs
- OrderedHashRepartitionStream.cs
- MenuRendererStandards.cs
- ChangeInterceptorAttribute.cs
- Logging.cs
- XmlSchemaSimpleType.cs
- HtmlElementErrorEventArgs.cs
- EditorPartDesigner.cs
- ArraySet.cs
- validation.cs
- TraceUtility.cs
- Effect.cs
- RepeaterItemCollection.cs
- FunctionParameter.cs
- HwndAppCommandInputProvider.cs
- ToolStripDropDownItem.cs
- IsolatedStorageFilePermission.cs
- ViewStateModeByIdAttribute.cs
- Matrix.cs
- WindowsListViewItemCheckBox.cs
- StretchValidation.cs
- HttpContextWrapper.cs
- AbstractDataSvcMapFileLoader.cs
- DesignTimeTemplateParser.cs
- SecurityKeyIdentifierClause.cs
- CodeFieldReferenceExpression.cs
- ServiceContractGenerator.cs
- CustomValidator.cs
- ErrorFormatter.cs
- Binding.cs
- HttpCacheParams.cs
- HttpListenerException.cs
- ControlDesignerState.cs
- SqlFactory.cs
- LinearGradientBrush.cs
- ListBindingHelper.cs