Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ListViewGroupCollectionEditor.cs / 1 / ListViewGroupCollectionEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.ListViewGroupCollectionEditor..ctor(System.Type)")] namespace System.Windows.Forms.Design { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.IO; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Windows.Forms; using System.Drawing; using System.Design; using System.Drawing.Design; using System.Windows.Forms.ComponentModel; ////// /// internal class ListViewGroupCollectionEditor : CollectionEditor { object editValue; ////// Provides an editor for an image collection. ////// /// public ListViewGroupCollectionEditor(Type type) : base(type){ } ////// /// Creates a ListViewGroup instance. /// protected override object CreateInstance(Type itemType) { ListViewGroup lvg = (ListViewGroup) base.CreateInstance(itemType); // Create an unique name for the list view group. lvg.Name = CreateListViewGroupName((ListViewGroupCollection) this.editValue); return lvg; } private string CreateListViewGroupName(ListViewGroupCollection lvgCollection) { string lvgName = "ListViewGroup"; string resultName; INameCreationService ncs = this.GetService(typeof(INameCreationService)) as INameCreationService; IContainer container = this.GetService(typeof(IContainer)) as IContainer; if (ncs != null && container != null) { lvgName = ncs.CreateName(container, typeof(ListViewGroup)); } // strip the digits from the end. while (Char.IsDigit(lvgName[lvgName.Length - 1])) { lvgName = lvgName.Substring(0, lvgName.Length - 1); } int i = 1; resultName = lvgName + i.ToString(System.Globalization.CultureInfo.CurrentCulture); while (lvgCollection[resultName] != null) { i ++; resultName = lvgName + i.ToString(System.Globalization.CultureInfo.CurrentCulture); } return resultName; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { this.editValue = value; object ret; // This will block while the ListViewGroupCollectionDialog is running. ret = base.EditValue(context, provider, value); // The user is done w/ the ListViewGroupCollectionDialog. // Don't need the edit value any longer this.editValue = null; return ret; } } } // 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
- PropertyPanel.cs
- ApplicationFileParser.cs
- LocatorGroup.cs
- Vector3DValueSerializer.cs
- PeerUnsafeNativeMethods.cs
- WebServiceHandler.cs
- ExpressionTable.cs
- DataSourceCache.cs
- DataControlButton.cs
- ChtmlPhoneCallAdapter.cs
- ClientConfigPaths.cs
- xdrvalidator.cs
- hwndwrapper.cs
- HyperLink.cs
- SymLanguageVendor.cs
- SmtpSection.cs
- SqlRemoveConstantOrderBy.cs
- SafeCryptoHandles.cs
- SqlGatherProducedAliases.cs
- XmlElementAttributes.cs
- TypeDescriptionProvider.cs
- ReadOnlyDictionary.cs
- WaitHandleCannotBeOpenedException.cs
- InkCanvasSelectionAdorner.cs
- TrustLevelCollection.cs
- ImportedPolicyConversionContext.cs
- Wizard.cs
- SystemNetworkInterface.cs
- IChannel.cs
- StagingAreaInputItem.cs
- xdrvalidator.cs
- Span.cs
- AssertSection.cs
- DrawListViewItemEventArgs.cs
- Attributes.cs
- SymLanguageType.cs
- DesignTimeTemplateParser.cs
- RuleSetBrowserDialog.cs
- NumberSubstitution.cs
- ChangeProcessor.cs
- WriteTimeStream.cs
- SelectionPattern.cs
- AudienceUriMode.cs
- InstanceCompleteException.cs
- DataServiceOperationContext.cs
- TextSelectionHighlightLayer.cs
- PriorityQueue.cs
- DesignUtil.cs
- AttributeEmitter.cs
- PrimitiveSchema.cs
- PrePrepareMethodAttribute.cs
- TypeSystem.cs
- elementinformation.cs
- LambdaCompiler.ControlFlow.cs
- AccessDataSource.cs
- DictationGrammar.cs
- XmlNamespaceMapping.cs
- UIElement.cs
- Model3D.cs
- CircleHotSpot.cs
- LinqDataSourceContextEventArgs.cs
- SessionStateUtil.cs
- ExplicitDiscriminatorMap.cs
- MergeLocalizationDirectives.cs
- TableLayoutColumnStyleCollection.cs
- ToolStripLabel.cs
- DataFormats.cs
- SplayTreeNode.cs
- Rotation3D.cs
- MenuItemAutomationPeer.cs
- NativeMethods.cs
- MobileRedirect.cs
- ModifierKeysValueSerializer.cs
- WebScriptEnablingBehavior.cs
- RuntimeConfig.cs
- ResourceSet.cs
- EventManager.cs
- HtmlHistory.cs
- DoubleSumAggregationOperator.cs
- WhitespaceRuleReader.cs
- FrameworkContentElement.cs
- ActiveXHost.cs
- HttpCachePolicyWrapper.cs
- HMACSHA512.cs
- CodeConstructor.cs
- FragmentQueryKB.cs
- GACMembershipCondition.cs
- RuntimeEnvironment.cs
- XmlSignificantWhitespace.cs
- EntityDesignerDataSourceView.cs
- ReaderWriterLock.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- Module.cs
- ColorContext.cs
- ReachUIElementCollectionSerializerAsync.cs
- TraceEventCache.cs
- DirectoryGroupQuery.cs
- GeometryModel3D.cs
- TransformGroup.cs
- RtfToXamlLexer.cs