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
- PrimaryKeyTypeConverter.cs
- FontUnit.cs
- Walker.cs
- NativeMethods.cs
- DataGridCaption.cs
- WebDescriptionAttribute.cs
- RequestChannel.cs
- NativeCppClassAttribute.cs
- PropertyPathConverter.cs
- panel.cs
- WindowsListViewItemStartMenu.cs
- ItemAutomationPeer.cs
- PropertyDescriptorGridEntry.cs
- XmlSerializableWriter.cs
- TextRangeBase.cs
- sqlmetadatafactory.cs
- HttpHostedTransportConfiguration.cs
- WindowsIPAddress.cs
- Renderer.cs
- sapiproxy.cs
- DisposableCollectionWrapper.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ToolStripDropDownDesigner.cs
- CmsInterop.cs
- CanonicalFontFamilyReference.cs
- SelectionItemPattern.cs
- ISFTagAndGuidCache.cs
- BooleanAnimationBase.cs
- ScheduleChanges.cs
- HttpTransportManager.cs
- TextTreeInsertUndoUnit.cs
- RijndaelManagedTransform.cs
- ArraySortHelper.cs
- ListSortDescription.cs
- CutCopyPasteHelper.cs
- HierarchicalDataSourceDesigner.cs
- BaseCodeDomTreeGenerator.cs
- ButtonFlatAdapter.cs
- EntityTypeEmitter.cs
- TextEncodedRawTextWriter.cs
- XPathNavigatorKeyComparer.cs
- DbMetaDataColumnNames.cs
- UIElement3DAutomationPeer.cs
- HttpResponseInternalWrapper.cs
- UnsupportedPolicyOptionsException.cs
- JulianCalendar.cs
- InputScope.cs
- BidOverLoads.cs
- RequestCacheEntry.cs
- DetailsViewDeleteEventArgs.cs
- EntityContainerRelationshipSetEnd.cs
- WindowsComboBox.cs
- DiscoveryDefaults.cs
- DirtyTextRange.cs
- Point3DCollection.cs
- ScrollProviderWrapper.cs
- MessageEventSubscriptionService.cs
- PathFigureCollection.cs
- Sentence.cs
- documentsequencetextcontainer.cs
- TimeEnumHelper.cs
- Pen.cs
- MasterPageCodeDomTreeGenerator.cs
- CompositeCollectionView.cs
- MenuItemCollection.cs
- FilterableAttribute.cs
- ScriptIgnoreAttribute.cs
- HttpCacheVary.cs
- WebException.cs
- PackageProperties.cs
- QueryableDataSourceEditData.cs
- DecimalStorage.cs
- OdbcEnvironmentHandle.cs
- DeclarativeCatalogPart.cs
- ScriptControlManager.cs
- ToolStripDropDownDesigner.cs
- ListChunk.cs
- ComponentDispatcher.cs
- ListControl.cs
- SystemIcmpV6Statistics.cs
- TreeNode.cs
- uribuilder.cs
- SerializableAttribute.cs
- COAUTHIDENTITY.cs
- XmlDataProvider.cs
- SafeTokenHandle.cs
- ToolStripProgressBar.cs
- CompositionTarget.cs
- DiagnosticEventProvider.cs
- Panel.cs
- ApplyImportsAction.cs
- SerialPort.cs
- UdpChannelListener.cs
- GeneralTransform3DGroup.cs
- BitmapEditor.cs
- ActionFrame.cs
- CompilerScope.Storage.cs
- XmlSchemaComplexContentRestriction.cs
- BrowserDefinition.cs
- MsmqBindingMonitor.cs