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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConsumerConnectionPoint.cs
- AssemblyCollection.cs
- ApplicationException.cs
- ProfileParameter.cs
- CssTextWriter.cs
- FileAuthorizationModule.cs
- ParseChildrenAsPropertiesAttribute.cs
- RecognizeCompletedEventArgs.cs
- WorkflowInstanceAbortedRecord.cs
- ReadOnlyTernaryTree.cs
- __Filters.cs
- CodeAttachEventStatement.cs
- SafeBitVector32.cs
- ProtocolProfile.cs
- TableLayoutColumnStyleCollection.cs
- CallbackValidator.cs
- PageWrapper.cs
- SqlProfileProvider.cs
- NativeCppClassAttribute.cs
- DataGridViewCellLinkedList.cs
- SupportingTokenChannel.cs
- AssemblyAssociatedContentFileAttribute.cs
- Part.cs
- GreenMethods.cs
- XmlUTF8TextReader.cs
- CornerRadiusConverter.cs
- HandlerMappingMemo.cs
- TextSimpleMarkerProperties.cs
- InputLanguageProfileNotifySink.cs
- Timeline.cs
- CodeFieldReferenceExpression.cs
- XmlReflectionImporter.cs
- AuthenticateEventArgs.cs
- PassportPrincipal.cs
- CodeDelegateCreateExpression.cs
- FileVersionInfo.cs
- X509Utils.cs
- Buffer.cs
- CodeDelegateInvokeExpression.cs
- Tile.cs
- ServiceOperationListItemList.cs
- NativeMethods.cs
- RolePrincipal.cs
- TypeElementCollection.cs
- Panel.cs
- ScaleTransform.cs
- TextDecoration.cs
- DatePicker.cs
- OleDbSchemaGuid.cs
- ImageInfo.cs
- ProxyHelper.cs
- DataGridViewColumnConverter.cs
- ScriptDescriptor.cs
- SoapTypeAttribute.cs
- WeakReferenceEnumerator.cs
- StickyNote.cs
- linebase.cs
- DocumentGridContextMenu.cs
- _HeaderInfoTable.cs
- EncoderExceptionFallback.cs
- MultilineStringEditor.cs
- Serializer.cs
- EntityDataSourceUtil.cs
- infer.cs
- ExtensionWindowHeader.cs
- RoleBoolean.cs
- SmiRecordBuffer.cs
- PageCatalogPartDesigner.cs
- ItemDragEvent.cs
- TextEditorLists.cs
- bindurihelper.cs
- NotSupportedException.cs
- PropertyGridCommands.cs
- ExpressionBuilderCollection.cs
- ScriptingWebServicesSectionGroup.cs
- PropertyGridCommands.cs
- RtfControlWordInfo.cs
- NativeMethods.cs
- TimeStampChecker.cs
- Zone.cs
- SerTrace.cs
- PropertyRecord.cs
- FontWeightConverter.cs
- DesignerTransactionCloseEvent.cs
- DragEvent.cs
- LoadMessageLogger.cs
- CodeDOMUtility.cs
- IdentifierService.cs
- SpecularMaterial.cs
- CommandBinding.cs
- VoiceChangeEventArgs.cs
- ObjectAnimationBase.cs
- ReadOnlyNameValueCollection.cs
- Wildcard.cs
- GlyphInfoList.cs
- GcSettings.cs
- MessageFilterException.cs
- SqlNodeAnnotation.cs
- InfocardClientCredentials.cs
- PrintDialog.cs