Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Services / Monitoring / system / Diagnosticts / Design / StringDictionaryEditor.cs / 1 / StringDictionaryEditor.cs
namespace System.Diagnostics.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.Windows.Forms;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms.ComponentModel;
using System.Windows.Forms.Design;
using System.Collections.Specialized;
using System.Design;
internal class EditableDictionaryEntry {
public string _name;
public string _value;
public EditableDictionaryEntry(string name, string value) {
_name = name;
_value = value;
}
public string Name {
get { return _name; }
set { _name = value; }
}
public string Value {
get { return _value; }
set { _value = value; }
}
}
internal class StringDictionaryEditor : CollectionEditor {
public StringDictionaryEditor(Type type) : base(type) {}
protected override Type CreateCollectionItemType() {
return typeof(EditableDictionaryEntry);
}
protected override object CreateInstance(Type itemType) {
return new EditableDictionaryEntry("name", "value");
}
protected override object SetItems(object editValue, object[] value) {
StringDictionary dictionary = editValue as StringDictionary;
if (dictionary == null) {
throw new ArgumentNullException("editValue");
}
dictionary.Clear();
foreach (EditableDictionaryEntry entry in value) {
dictionary[entry.Name] = entry.Value;
}
return dictionary;
}
protected override object[] GetItems(object editValue) {
if (editValue != null) {
StringDictionary dictionary = editValue as StringDictionary;
if (dictionary == null) {
throw new ArgumentNullException("editValue");
}
object[] ret = new object[dictionary.Count];
int pos = 0;
foreach (DictionaryEntry entry in dictionary) {
EditableDictionaryEntry newEntry = new EditableDictionaryEntry((string)entry.Key, (string)entry.Value);
ret[pos++] = newEntry;
}
return ret;
}
return new object[0];
}
protected override CollectionForm CreateCollectionForm() {
CollectionForm form = base.CreateCollectionForm();
form.Text = SR.GetString(SR.StringDictionaryEditorTitle);
form.CollectionEditable = true;
return form;
}
}
}
// 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
- Context.cs
- EntityDataSourceSelectingEventArgs.cs
- DataGridViewCellStyleConverter.cs
- RetrieveVirtualItemEventArgs.cs
- Attributes.cs
- RectConverter.cs
- SafeCancelMibChangeNotify.cs
- DataKeyCollection.cs
- QueryStatement.cs
- CodeVariableDeclarationStatement.cs
- XhtmlBasicCommandAdapter.cs
- FileReservationCollection.cs
- CodePrimitiveExpression.cs
- ValidationError.cs
- FieldNameLookup.cs
- LinkLabel.cs
- ConfigurationException.cs
- FixedSchema.cs
- XmlSchemaObject.cs
- DockPanel.cs
- SafeRegistryHandle.cs
- DockingAttribute.cs
- Privilege.cs
- BypassElementCollection.cs
- ClientScriptManagerWrapper.cs
- OneToOneMappingSerializer.cs
- DSACryptoServiceProvider.cs
- returneventsaver.cs
- TimelineCollection.cs
- Container.cs
- LiteralControl.cs
- Point3DAnimationBase.cs
- Registry.cs
- ScriptControlDescriptor.cs
- WindowsSlider.cs
- TypeConverter.cs
- PartialArray.cs
- GenericTextProperties.cs
- HostedBindingBehavior.cs
- DescendantOverDescendantQuery.cs
- SessionStateModule.cs
- Internal.cs
- CacheSection.cs
- DescendentsWalkerBase.cs
- WebRequest.cs
- DynamicPropertyReader.cs
- ArraySubsetEnumerator.cs
- Button.cs
- ThreadAttributes.cs
- XmlDigitalSignatureProcessor.cs
- SelectedDatesCollection.cs
- QueuePathDialog.cs
- PictureBox.cs
- Interfaces.cs
- MetadataPropertyCollection.cs
- SchemaElementLookUpTableEnumerator.cs
- EmptyStringExpandableObjectConverter.cs
- WpfGeneratedKnownProperties.cs
- ControlParameter.cs
- CodeTypeReferenceSerializer.cs
- CodeTypeReferenceExpression.cs
- CapabilitiesSection.cs
- HttpCookieCollection.cs
- EmbeddedMailObjectsCollection.cs
- ViewEventArgs.cs
- MinimizableAttributeTypeConverter.cs
- AxisAngleRotation3D.cs
- SafeSystemMetrics.cs
- StylusLogic.cs
- PreservationFileReader.cs
- BamlBinaryReader.cs
- PartialTrustHelpers.cs
- HtmlInputFile.cs
- RowUpdatedEventArgs.cs
- OraclePermissionAttribute.cs
- ComponentEditorForm.cs
- Terminate.cs
- Listbox.cs
- ErrorsHelper.cs
- SaveFileDialog.cs
- RewritingValidator.cs
- RegexReplacement.cs
- RefExpr.cs
- ManagementInstaller.cs
- WorkflowHostingEndpoint.cs
- PeoplePickerWrapper.cs
- HwndStylusInputProvider.cs
- UniqueIdentifierService.cs
- HttpCacheVary.cs
- HttpFileCollectionBase.cs
- CheckPair.cs
- FormCollection.cs
- IdentityReference.cs
- GeneralTransformCollection.cs
- FindSimilarActivitiesVerb.cs
- PropertyChangeTracker.cs
- PropertyStore.cs
- FormViewUpdatedEventArgs.cs
- MimeMultiPart.cs
- odbcmetadatacollectionnames.cs