Code:
/ DotNET / DotNET / 8.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
- TextDecorationLocationValidation.cs
- PackageRelationshipCollection.cs
- RijndaelManaged.cs
- PointHitTestParameters.cs
- WindowsScroll.cs
- PrintControllerWithStatusDialog.cs
- ReadOnlyDictionary.cs
- UserControl.cs
- EventWaitHandle.cs
- XmlObjectSerializerReadContextComplexJson.cs
- Debug.cs
- ByteConverter.cs
- Gdiplus.cs
- FixedHighlight.cs
- BindingContext.cs
- DataBindingCollection.cs
- WebControl.cs
- MessageHeaderDescription.cs
- PeerNameRecordCollection.cs
- LicFileLicenseProvider.cs
- RegionInfo.cs
- ZipFileInfo.cs
- MissingSatelliteAssemblyException.cs
- FaultBookmark.cs
- NullPackagingPolicy.cs
- TraceLevelStore.cs
- XPathEmptyIterator.cs
- PointAnimation.cs
- httpstaticobjectscollection.cs
- NumberFunctions.cs
- CodeIdentifier.cs
- Size3DConverter.cs
- ResourceDescriptionAttribute.cs
- ReversePositionQuery.cs
- NetCodeGroup.cs
- OneOfTypeConst.cs
- TemplateNameScope.cs
- SHA1Cng.cs
- AddressHeaderCollectionElement.cs
- BinaryMessageEncodingBindingElement.cs
- ServiceRouteHandler.cs
- DropTarget.cs
- SpotLight.cs
- ButtonStandardAdapter.cs
- SynchronizedInputHelper.cs
- DocumentPageHost.cs
- ScriptingWebServicesSectionGroup.cs
- DecimalConverter.cs
- FusionWrap.cs
- DescendentsWalkerBase.cs
- SizeAnimationBase.cs
- RequestCache.cs
- RowSpanVector.cs
- PropertyGeneratedEventArgs.cs
- ProxyManager.cs
- XmlCountingReader.cs
- SimpleExpression.cs
- EditorOptionAttribute.cs
- IconEditor.cs
- NamespaceInfo.cs
- LogicalTreeHelper.cs
- _SSPIWrapper.cs
- UserNameSecurityToken.cs
- SettingsContext.cs
- RoleGroupCollectionEditor.cs
- JsonCollectionDataContract.cs
- ByteFacetDescriptionElement.cs
- Debug.cs
- PriorityBinding.cs
- UdpDiscoveryEndpointProvider.cs
- InternalCache.cs
- IIS7UserPrincipal.cs
- X509ThumbprintKeyIdentifierClause.cs
- List.cs
- VectorCollectionValueSerializer.cs
- CompiledXpathExpr.cs
- TypedRowGenerator.cs
- PerfProviderCollection.cs
- InfoCardSymmetricAlgorithm.cs
- ReliableSessionBindingElement.cs
- WebBrowserHelper.cs
- AppPool.cs
- TextRunTypographyProperties.cs
- Msec.cs
- ThicknessConverter.cs
- HttpAsyncResult.cs
- IteratorFilter.cs
- SemanticValue.cs
- SoapExtension.cs
- FormView.cs
- UserNamePasswordValidator.cs
- Pair.cs
- GridViewCellAutomationPeer.cs
- InstanceLockException.cs
- SessionState.cs
- HealthMonitoringSectionHelper.cs
- SettingsAttributeDictionary.cs
- ContainerUIElement3D.cs
- ConnectionOrientedTransportChannelFactory.cs
- String.cs