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
- TableParagraph.cs
- EdmToObjectNamespaceMap.cs
- DefaultParameterValueAttribute.cs
- TextServicesLoader.cs
- EventOpcode.cs
- BuildResult.cs
- DropDownButton.cs
- CatalogPart.cs
- TreeNodeMouseHoverEvent.cs
- ExpressionEvaluator.cs
- PolicyImporterElementCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SqlNodeAnnotations.cs
- XmlChildNodes.cs
- OpenFileDialog.cs
- MatrixCamera.cs
- TextUtf8RawTextWriter.cs
- Screen.cs
- EntityClassGenerator.cs
- LinearKeyFrames.cs
- HttpModulesInstallComponent.cs
- NamespaceQuery.cs
- XmlILAnnotation.cs
- AnimatedTypeHelpers.cs
- ISAPIWorkerRequest.cs
- X509CertificateChain.cs
- Rights.cs
- LinqDataSourceSelectEventArgs.cs
- SqlExpressionNullability.cs
- CatalogZoneBase.cs
- TypeDescriptionProviderAttribute.cs
- WebBrowser.cs
- XmlSecureResolver.cs
- DataRecordInternal.cs
- XmlDataSourceDesigner.cs
- ByteStream.cs
- Globals.cs
- DataGridViewCellCancelEventArgs.cs
- baseshape.cs
- NamedPipeChannelFactory.cs
- DeferredTextReference.cs
- ProxyDataContractResolver.cs
- GraphicsPath.cs
- RewritingSimplifier.cs
- TextTreeTextNode.cs
- CodeLabeledStatement.cs
- UInt16Converter.cs
- TypeDescriptionProviderAttribute.cs
- SoapReflectionImporter.cs
- SoapClientMessage.cs
- assemblycache.cs
- RealizationContext.cs
- AutomationPatternInfo.cs
- MatrixTransform3D.cs
- CurrentChangingEventArgs.cs
- Point3DAnimation.cs
- ProfileProvider.cs
- SQLInt64Storage.cs
- OdbcErrorCollection.cs
- OverrideMode.cs
- LicenseContext.cs
- HttpAsyncResult.cs
- AuthenticateEventArgs.cs
- CapabilitiesPattern.cs
- ProxyHwnd.cs
- ConstraintCollection.cs
- WmlLinkAdapter.cs
- ItemCollection.cs
- WSHttpBindingCollectionElement.cs
- TogglePattern.cs
- StylusButtonEventArgs.cs
- DbConnectionPoolGroupProviderInfo.cs
- CalloutQueueItem.cs
- OdbcConnectionFactory.cs
- RoleGroupCollection.cs
- TextWriterEngine.cs
- ThemeableAttribute.cs
- ExpandedWrapper.cs
- GridViewColumn.cs
- OutOfProcStateClientManager.cs
- WorkflowValidationFailedException.cs
- AccessDataSourceWizardForm.cs
- ClientTargetSection.cs
- CodeDomConfigurationHandler.cs
- Pair.cs
- UntrustedRecipientException.cs
- ProgressBarBrushConverter.cs
- NavigationProgressEventArgs.cs
- HMACSHA256.cs
- HtmlToClrEventProxy.cs
- UpdatePanelTrigger.cs
- ConcurrentStack.cs
- XmlSchemaValidationException.cs
- DbMetaDataColumnNames.cs
- SerializationInfo.cs
- Wildcard.cs
- BufferModesCollection.cs
- DesignerTransactionCloseEvent.cs
- CodeStatementCollection.cs
- DesignTimeSiteMapProvider.cs