Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DataGridViewCellStyleEditor.cs / 1 / DataGridViewCellStyleEditor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms.Design {
using System.Runtime.InteropServices;
using System.Diagnostics;
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using Microsoft.Win32;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;
using System.Drawing.Design;
internal class DataGridViewCellStyleEditor : UITypeEditor {
private DataGridViewCellStyleBuilder builderDialog;
private object value;
///
///
/// 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));
IUIService uiService = (IUIService) provider.GetService(typeof(IUIService));
IComponent comp = context.Instance as IComponent;
Debug.Assert(edSvc != null, "No editor service; we cannot edit the value");
if (edSvc != null) {
if (builderDialog == null) {
builderDialog = new DataGridViewCellStyleBuilder(provider, comp);
}
if (uiService != null) {
builderDialog.Font = (Font) uiService.Styles["DialogFont"];
}
DataGridViewCellStyle dgvcs = value as DataGridViewCellStyle;
if (dgvcs != null) {
builderDialog.CellStyle = dgvcs;
}
builderDialog.Context = context;
//IntPtr hwndFocus = UnsafeNativeMethods.GetFocus();
try {
if (builderDialog.ShowDialog() == DialogResult.OK) {
this.value = builderDialog.CellStyle;
}
}
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
- DateTimeSerializationSection.cs
- DataGridViewImageColumn.cs
- StaticSiteMapProvider.cs
- XhtmlBasicPanelAdapter.cs
- SubclassTypeValidatorAttribute.cs
- MTConfigUtil.cs
- SqlInternalConnectionSmi.cs
- DependencyObject.cs
- CacheMode.cs
- SmtpMail.cs
- parserscommon.cs
- DynamicActionMessageFilter.cs
- shaperfactoryquerycacheentry.cs
- UrlMappingsModule.cs
- Partitioner.cs
- RoutingExtension.cs
- TextEditorSpelling.cs
- ProcessRequestArgs.cs
- ImageMap.cs
- FontWeights.cs
- QuotedStringWriteStateInfo.cs
- StatusBarPanelClickEvent.cs
- PartialTrustValidationBehavior.cs
- CustomPopupPlacement.cs
- RestHandlerFactory.cs
- DataObjectMethodAttribute.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- QuaternionValueSerializer.cs
- SafeNativeMethods.cs
- PeerApplication.cs
- Thickness.cs
- EntityModelBuildProvider.cs
- Size.cs
- OracleTransaction.cs
- KeyFrames.cs
- connectionpool.cs
- WizardDesigner.cs
- ConfigurationSectionGroup.cs
- VisualStyleElement.cs
- RuleAttributes.cs
- SqlParameter.cs
- SingleAnimation.cs
- BitmapCodecInfo.cs
- DialogBaseForm.cs
- RemoveStoryboard.cs
- COAUTHINFO.cs
- HtmlToClrEventProxy.cs
- Point3DAnimation.cs
- SystemResourceHost.cs
- Propagator.cs
- HtmlGenericControl.cs
- GeneratedContractType.cs
- OperandQuery.cs
- Panel.cs
- SplineQuaternionKeyFrame.cs
- Schema.cs
- Descriptor.cs
- XAMLParseException.cs
- EffectiveValueEntry.cs
- Wizard.cs
- SettingsPropertyNotFoundException.cs
- BrushValueSerializer.cs
- NamedElement.cs
- OciLobLocator.cs
- NavigationExpr.cs
- __Filters.cs
- ContextQuery.cs
- SafeProcessHandle.cs
- SystemThemeKey.cs
- FunctionUpdateCommand.cs
- RadioButtonBaseAdapter.cs
- PointCollectionConverter.cs
- Stackframe.cs
- AdjustableArrowCap.cs
- NotSupportedException.cs
- SerTrace.cs
- ReachVisualSerializerAsync.cs
- TypeConverterValueSerializer.cs
- Memoizer.cs
- XpsSerializationManagerAsync.cs
- ListControl.cs
- AlignmentXValidation.cs
- WebPartConnectionsEventArgs.cs
- LightweightCodeGenerator.cs
- SplitterCancelEvent.cs
- EventQueueState.cs
- FrameworkContentElement.cs
- NetStream.cs
- PathGeometry.cs
- WebEventCodes.cs
- OutputCacheProfileCollection.cs
- ModuleElement.cs
- HealthMonitoringSectionHelper.cs
- FlatButtonAppearance.cs
- ValidationSummary.cs
- EventProvider.cs
- EnumValAlphaComparer.cs
- IsolatedStorageFilePermission.cs
- DynamicActionMessageFilter.cs
- PocoPropertyAccessorStrategy.cs