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
- EntityDataSourceContextCreatingEventArgs.cs
- StyleConverter.cs
- RuleValidation.cs
- Utils.cs
- RC2CryptoServiceProvider.cs
- ProfileGroupSettings.cs
- AttachedPropertyBrowsableAttribute.cs
- Context.cs
- SolidColorBrush.cs
- ToolStripStatusLabel.cs
- CheckBoxFlatAdapter.cs
- SafeHandles.cs
- ResetableIterator.cs
- FieldDescriptor.cs
- ChildrenQuery.cs
- JsonUriDataContract.cs
- ListViewInsertEventArgs.cs
- EventSinkActivityDesigner.cs
- SqlDataSourceCommandParser.cs
- SqlConnectionString.cs
- HyperLinkColumn.cs
- DataSourceHelper.cs
- InlineUIContainer.cs
- ListControlConvertEventArgs.cs
- HeaderElement.cs
- SingleObjectCollection.cs
- PenThread.cs
- BreakRecordTable.cs
- DateRangeEvent.cs
- CustomCategoryAttribute.cs
- WindowClosedEventArgs.cs
- Compiler.cs
- M3DUtil.cs
- WindowsSysHeader.cs
- SecureConversationVersion.cs
- ProgressBarRenderer.cs
- DateTimeConverter.cs
- OperationInvokerBehavior.cs
- PageThemeParser.cs
- ErrorHandlerModule.cs
- querybuilder.cs
- Ipv6Element.cs
- ResolveMatchesCD1.cs
- ProviderSettings.cs
- BrowserCapabilitiesCodeGenerator.cs
- CounterNameConverter.cs
- PageRequestManager.cs
- BindingMAnagerBase.cs
- XmlExceptionHelper.cs
- ExtendedPropertyCollection.cs
- GridViewAutomationPeer.cs
- SchemaInfo.cs
- XmlSchemaDocumentation.cs
- Section.cs
- NamespaceImport.cs
- XmlSchemaSimpleTypeList.cs
- PageVisual.cs
- documentsequencetextcontainer.cs
- SpellerStatusTable.cs
- CodeMemberField.cs
- System.Data.OracleClient_BID.cs
- _Win32.cs
- LabelInfo.cs
- MessagingDescriptionAttribute.cs
- AnnotationHelper.cs
- Bezier.cs
- PropertyChange.cs
- DesignTimeType.cs
- XmlCharacterData.cs
- FieldNameLookup.cs
- FacetEnabledSchemaElement.cs
- CompressionTracing.cs
- DBSqlParser.cs
- SchemaMapping.cs
- SQLSingle.cs
- ReadOnlyDataSourceView.cs
- MethodBody.cs
- DataGridViewCellPaintingEventArgs.cs
- Soap12ProtocolReflector.cs
- arabicshape.cs
- XmlILOptimizerVisitor.cs
- MetafileEditor.cs
- DropShadowBitmapEffect.cs
- StringStorage.cs
- ParsedAttributeCollection.cs
- XamlToRtfParser.cs
- WebPartMinimizeVerb.cs
- QilFactory.cs
- ImageBrush.cs
- PackageRelationship.cs
- DeploymentExceptionMapper.cs
- SoapMessage.cs
- BindingEntityInfo.cs
- ErrorWrapper.cs
- ExpressionBuilderCollection.cs
- PackagePartCollection.cs
- ProtocolsSection.cs
- AnnotationStore.cs
- ToolboxCategoryItems.cs
- UnknownBitmapDecoder.cs