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
- BuildProvider.cs
- PerfService.cs
- ContractHandle.cs
- CleanUpVirtualizedItemEventArgs.cs
- BamlTreeMap.cs
- ListBase.cs
- FontConverter.cs
- OrderingExpression.cs
- Operators.cs
- FtpWebResponse.cs
- TreeIterators.cs
- FileUpload.cs
- XmlSubtreeReader.cs
- DateTimeValueSerializerContext.cs
- ControlUtil.cs
- WebPartMinimizeVerb.cs
- Transform3D.cs
- ModelPerspective.cs
- WebPartAddingEventArgs.cs
- EntityContainerEntitySet.cs
- BrowsableAttribute.cs
- DES.cs
- DaylightTime.cs
- PlaceHolder.cs
- DataGridViewTextBoxEditingControl.cs
- ObjectDataSourceFilteringEventArgs.cs
- SignatureDescription.cs
- BaseResourcesBuildProvider.cs
- BaseDataBoundControl.cs
- UnsafeNativeMethods.cs
- Rectangle.cs
- CodeFieldReferenceExpression.cs
- SettingsBindableAttribute.cs
- IteratorFilter.cs
- PartDesigner.cs
- SimpleWorkerRequest.cs
- TransportManager.cs
- HttpRuntimeSection.cs
- NetworkCredential.cs
- PackageDigitalSignatureManager.cs
- URI.cs
- DoubleLink.cs
- RankException.cs
- ColumnClickEvent.cs
- ClaimComparer.cs
- BitmapEffectInput.cs
- Stream.cs
- EncoderNLS.cs
- GetRecipientListRequest.cs
- DynamicObjectAccessor.cs
- DragCompletedEventArgs.cs
- UpWmlPageAdapter.cs
- StdValidatorsAndConverters.cs
- WebFormDesignerActionService.cs
- TaiwanLunisolarCalendar.cs
- WebPartZoneAutoFormat.cs
- OutputCache.cs
- GeometryModel3D.cs
- String.cs
- Constant.cs
- NGCSerializerAsync.cs
- ClientScriptManager.cs
- ApplicationId.cs
- ObjectDataSourceMethodEventArgs.cs
- ColorEditor.cs
- ReaderOutput.cs
- LineMetrics.cs
- HttpRawResponse.cs
- TypeSystemHelpers.cs
- CodeMethodReturnStatement.cs
- XmlTypeAttribute.cs
- MLangCodePageEncoding.cs
- SymLanguageType.cs
- ColorConvertedBitmap.cs
- CircleHotSpot.cs
- TableRowGroup.cs
- ImageMapEventArgs.cs
- PeerApplication.cs
- MulticastDelegate.cs
- BrowserCapabilitiesCompiler.cs
- ASCIIEncoding.cs
- sitestring.cs
- CodeIdentifiers.cs
- WindowsUpDown.cs
- StringKeyFrameCollection.cs
- CollectionCodeDomSerializer.cs
- CipherData.cs
- HwndHostAutomationPeer.cs
- ComponentResourceKey.cs
- XmlSiteMapProvider.cs
- DrawListViewSubItemEventArgs.cs
- TypeSystemProvider.cs
- ObjectDisposedException.cs
- TableSectionStyle.cs
- MachineKey.cs
- SystemMulticastIPAddressInformation.cs
- InfoCardRSACryptoProvider.cs
- DeriveBytes.cs
- FixedDocumentSequencePaginator.cs
- DirtyTextRange.cs