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
- CellQuery.cs
- ExtensibleClassFactory.cs
- SourceFilter.cs
- OdbcFactory.cs
- HwndHost.cs
- OneOfScalarConst.cs
- TemplateBindingExtensionConverter.cs
- ResetableIterator.cs
- IPAddressCollection.cs
- PageAsyncTask.cs
- ExtendedPropertyDescriptor.cs
- ActivityPreviewDesigner.cs
- SafeNativeMethods.cs
- ProgressChangedEventArgs.cs
- ContextInformation.cs
- CallTemplateAction.cs
- SafeTokenHandle.cs
- IndexerNameAttribute.cs
- Filter.cs
- HybridDictionary.cs
- sqlstateclientmanager.cs
- SqlDuplicator.cs
- ContainerFilterService.cs
- Ticks.cs
- WebHeaderCollection.cs
- AdjustableArrowCap.cs
- PrivilegedConfigurationManager.cs
- CultureTableRecord.cs
- FormViewUpdateEventArgs.cs
- XamlInt32CollectionSerializer.cs
- SmtpNtlmAuthenticationModule.cs
- TrustSection.cs
- WebEvents.cs
- Control.cs
- PersonalizationStateInfo.cs
- PointValueSerializer.cs
- VariableAction.cs
- ReadOnlyPermissionSet.cs
- ExceptionTrace.cs
- SecurityState.cs
- RoutedEvent.cs
- EntryWrittenEventArgs.cs
- AssertFilter.cs
- CallbackWrapper.cs
- TableRowGroup.cs
- ModelItemDictionaryImpl.cs
- SecurityDescriptor.cs
- XmlReflectionMember.cs
- NetworkCredential.cs
- WindowsGraphics.cs
- ColorKeyFrameCollection.cs
- UIElementPropertyUndoUnit.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- GridViewRowPresenter.cs
- ZipFileInfoCollection.cs
- ProcessProtocolHandler.cs
- BoolExpressionVisitors.cs
- Scene3D.cs
- AssociatedControlConverter.cs
- ButtonStandardAdapter.cs
- ExceptionRoutedEventArgs.cs
- RuntimeCompatibilityAttribute.cs
- ActivityBuilderHelper.cs
- SortDescriptionCollection.cs
- TTSEngineTypes.cs
- Simplifier.cs
- CornerRadius.cs
- AsmxEndpointPickerExtension.cs
- InputLanguageCollection.cs
- ToolStripActionList.cs
- Calendar.cs
- DesignBinding.cs
- ValidatorCompatibilityHelper.cs
- _TLSstream.cs
- odbcmetadatacollectionnames.cs
- ControlAdapter.cs
- Message.cs
- TcpAppDomainProtocolHandler.cs
- TextDecorations.cs
- FileUpload.cs
- PropertyMetadata.cs
- QueryReaderSettings.cs
- DESCryptoServiceProvider.cs
- DesignerValidatorAdapter.cs
- WindowVisualStateTracker.cs
- SaveFileDialog.cs
- EmissiveMaterial.cs
- ElementMarkupObject.cs
- ArrayTypeMismatchException.cs
- DynamicRenderer.cs
- MatrixAnimationUsingKeyFrames.cs
- ApplyTemplatesAction.cs
- BuilderElements.cs
- ConnectionPoolManager.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ColumnHeader.cs
- LambdaCompiler.Logical.cs
- Metafile.cs
- listitem.cs
- PointAnimationUsingKeyFrames.cs