Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / FormatStringEditor.cs / 1 / FormatStringEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.FormatStringEditor..ctor()")] namespace System.Windows.Forms.Design { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; ////// /// internal class FormatStringEditor : UITypeEditor { private FormatStringDialog formatStringDialog; ///Provides an editor to edit advanced binding objects. ////// /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc != null) { DataGridViewCellStyle dgvCellStyle = context.Instance as DataGridViewCellStyle; ListControl listControl = context.Instance as ListControl; Debug.Assert(listControl != null || dgvCellStyle != null, "this editor is used for the DataGridViewCellStyle::Format and the ListControl::FormatString properties"); if (formatStringDialog == null) { formatStringDialog = new FormatStringDialog(context); } if (listControl != null) { formatStringDialog.ListControl = listControl; } else { formatStringDialog.DataGridViewCellStyle = dgvCellStyle; } IComponentChangeService changeSvc = (IComponentChangeService)provider.GetService(typeof(IComponentChangeService)); if (changeSvc != null) { if (dgvCellStyle != null) { changeSvc.OnComponentChanging(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["Format"]); changeSvc.OnComponentChanging(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["NullValue"]); changeSvc.OnComponentChanging(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["FormatProvider"]); } else { changeSvc.OnComponentChanging(listControl, TypeDescriptor.GetProperties(listControl)["FormatString"]); changeSvc.OnComponentChanging(listControl, TypeDescriptor.GetProperties(listControl)["FormatInfo"]); } } edSvc.ShowDialog(formatStringDialog); formatStringDialog.End(); if (formatStringDialog.Dirty) { // since the bindings may have changed, the properties listed in the properties window // need to be refreshed TypeDescriptor.Refresh(context.Instance); if (changeSvc != null) { if (dgvCellStyle != null) { changeSvc.OnComponentChanged(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["Format"], null, null); changeSvc.OnComponentChanged(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["NullValue"], null, null); changeSvc.OnComponentChanged(dgvCellStyle, TypeDescriptor.GetProperties(dgvCellStyle)["FormatProvider"], null, null); } else { changeSvc.OnComponentChanged(listControl, TypeDescriptor.GetProperties(listControl)["FormatString"], null, null); changeSvc.OnComponentChanged(listControl, TypeDescriptor.GetProperties(listControl)["FormatInfo"], null, null); } } } } } return value; } ///Edits the specified value using the specified provider /// within the specified context. ////// /// 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.Gets the edit style from the current context. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Pen.cs
- SparseMemoryStream.cs
- MouseEvent.cs
- StylusPointPropertyUnit.cs
- CharUnicodeInfo.cs
- ListBox.cs
- TagPrefixInfo.cs
- Metadata.cs
- SiteMapNodeCollection.cs
- TextElement.cs
- AsymmetricSecurityProtocol.cs
- XmlParserContext.cs
- MdImport.cs
- SafeCertificateContext.cs
- IndexedDataBuffer.cs
- MessageAction.cs
- XmlWriterSettings.cs
- Invariant.cs
- _NativeSSPI.cs
- InkCanvasInnerCanvas.cs
- QueryableDataSourceEditData.cs
- xmlNames.cs
- AliasExpr.cs
- DataControlCommands.cs
- StringDictionary.cs
- ReflectPropertyDescriptor.cs
- HtmlInputPassword.cs
- Executor.cs
- DirectoryObjectSecurity.cs
- ParameterElement.cs
- DefaultBindingPropertyAttribute.cs
- MsmqChannelListenerBase.cs
- SimpleApplicationHost.cs
- FaultPropagationRecord.cs
- OleDbSchemaGuid.cs
- PlainXmlSerializer.cs
- IconConverter.cs
- ContentPosition.cs
- ListViewContainer.cs
- TypeUnloadedException.cs
- AppliedDeviceFiltersDialog.cs
- OpCellTreeNode.cs
- ListViewInsertEventArgs.cs
- SchemaImporterExtensionElementCollection.cs
- MessageSecurityProtocolFactory.cs
- DragCompletedEventArgs.cs
- TextDocumentView.cs
- CodeIdentifier.cs
- ExternalException.cs
- SqlFacetAttribute.cs
- ElementProxy.cs
- SelectionItemPattern.cs
- SoapEnumAttribute.cs
- ListBoxItem.cs
- HttpModulesSection.cs
- LineServicesCallbacks.cs
- SecurityUtils.cs
- CalendarDay.cs
- CodeRemoveEventStatement.cs
- ParserStreamGeometryContext.cs
- CorrelationResolver.cs
- Deflater.cs
- ConsumerConnectionPoint.cs
- TrackBarDesigner.cs
- CorePropertiesFilter.cs
- InternalDuplexChannelListener.cs
- TimeSpan.cs
- WhereaboutsReader.cs
- dataSvcMapFileLoader.cs
- TextEditorSelection.cs
- DesignerActionMethodItem.cs
- RouteUrlExpressionBuilder.cs
- Rect3D.cs
- EventLogLink.cs
- UnsafeNativeMethods.cs
- HtmlHead.cs
- NoClickablePointException.cs
- FormViewInsertedEventArgs.cs
- MergePropertyDescriptor.cs
- IssuedSecurityTokenParameters.cs
- ElementAction.cs
- ISCIIEncoding.cs
- ReturnEventArgs.cs
- StatusBarAutomationPeer.cs
- CompositeScriptReferenceEventArgs.cs
- InternalsVisibleToAttribute.cs
- Graphics.cs
- HyperLinkColumn.cs
- StylusPoint.cs
- NativeMethods.cs
- HelpInfo.cs
- ControlDesigner.cs
- PropertyItem.cs
- SpellerStatusTable.cs
- WebPartMenuStyle.cs
- ExpressionBuilder.cs
- EventHandlersStore.cs
- SolidColorBrush.cs
- HandlerBase.cs
- PeerChannelFactory.cs