Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / AutoCompleteStringCollection.cs / 1305376 / AutoCompleteStringCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms {
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Collections;
using System.Security.Permissions;
using System.ComponentModel;
///
///
/// Represents a collection of strings.
///
public class AutoCompleteStringCollection : IList {
CollectionChangeEventHandler onCollectionChanged;
private ArrayList data = new ArrayList();
public AutoCompleteStringCollection()
{
}
///
///
/// Represents the entry at the specified index of the .
///
public string this[int index] {
get {
return ((string)data[index]);
}
set {
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Remove, data[index]));
data[index] = value;
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Add, value));
}
}
///
///
/// Gets the number of strings in the
/// .
///
public int Count {
get {
return data.Count;
}
}
///
bool IList.IsReadOnly
{
get
{
return false;
}
}
///
bool IList.IsFixedSize
{
get
{
return false;
}
}
///
///
/// [To be supplied.]
///
public event CollectionChangeEventHandler CollectionChanged
{
add
{
this.onCollectionChanged += value;
}
remove
{
this.onCollectionChanged -= value;
}
}
///
///
/// [To be supplied.]
///
protected void OnCollectionChanged(CollectionChangeEventArgs e)
{
if (this.onCollectionChanged != null)
{
this.onCollectionChanged(this, e);
}
}
///
///
/// Adds a string with the specified value to the
/// .
///
public int Add(string value) {
int index = data.Add(value);
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Add, value));
return index;
}
///
///
/// Copies the elements of a string array to the end of the .
///
public void AddRange(string[] value) {
if (value == null) {
throw new ArgumentNullException("value");
}
data.AddRange(value);
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Refresh, null));
}
///
///
/// Removes all the strings from the
/// .
///
public void Clear() {
data.Clear();
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Refresh, null));
}
///
///
/// Gets a value indicating whether the
/// contains a string with the specified
/// value.
///
public bool Contains(string value) {
return data.Contains(value);
}
///
///
/// Copies the values to a one-dimensional instance at the
/// specified index.
///
public void CopyTo(string[] array, int index) {
data.CopyTo(array, index);
}
///
///
/// Returns the index of the first occurrence of a string in
/// the .
///
public int IndexOf(string value) {
return data.IndexOf(value);
}
///
///
/// Inserts a string into the at the specified
/// index.
///
public void Insert(int index, string value) {
data.Insert(index, value);
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Add, value));
}
///
///
/// Gets a value indicating whether the is read-only.
///
public bool IsReadOnly {
get {
return false;
}
}
///
///
/// Gets a value indicating whether access to the
///
/// is synchronized (thread-safe).
///
public bool IsSynchronized {
get {
return false;
}
}
///
///
/// Removes a specific string from the
/// .
///
public void Remove(string value) {
data.Remove(value);
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Remove, value));
}
///
///
/// Removes the string at the specified index of the .
///
public void RemoveAt(int index) {
string value = (string)data[index];
data.RemoveAt(index);
OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Remove, value));
}
///
///
/// Gets an object that can be used to synchronize access to the .
///
public object SyncRoot {
[HostProtection(Synchronization=true)]
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")]
get {
return this;
}
}
///
object IList.this[int index] {
get {
return this[index];
}
set {
this[index] = (string)value;
}
}
///
int IList.Add(object value) {
return Add((string)value);
}
///
bool IList.Contains(object value) {
return Contains((string) value);
}
///
int IList.IndexOf(object value) {
return IndexOf((string)value);
}
///
void IList.Insert(int index, object value) {
Insert(index, (string)value);
}
///
void IList.Remove(object value) {
Remove((string)value);
}
///
void ICollection.CopyTo(Array array, int index) {
data.CopyTo(array, index);
}
///
public IEnumerator GetEnumerator() {
return data.GetEnumerator();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowsTitleBar.cs
- OrCondition.cs
- XslAst.cs
- arc.cs
- RangeValuePattern.cs
- DataControlFieldHeaderCell.cs
- MultiView.cs
- DataGridPreparingCellForEditEventArgs.cs
- TextElementCollectionHelper.cs
- DiscardableAttribute.cs
- SimpleFieldTemplateFactory.cs
- EventDescriptor.cs
- HandlerBase.cs
- XPathArrayIterator.cs
- ReflectTypeDescriptionProvider.cs
- VersionedStream.cs
- WsatConfiguration.cs
- WsdlExporter.cs
- DataTemplateSelector.cs
- ItemCheckEvent.cs
- IChannel.cs
- PolyBezierSegment.cs
- LassoSelectionBehavior.cs
- XmlTextWriter.cs
- NopReturnReader.cs
- DelegatingConfigHost.cs
- OdbcDataAdapter.cs
- Clock.cs
- APCustomTypeDescriptor.cs
- GPRECTF.cs
- HttpHandlersSection.cs
- NativeMethods.cs
- WebBrowsableAttribute.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- PathSegment.cs
- ToolStripRendererSwitcher.cs
- TrustManager.cs
- FlowThrottle.cs
- autovalidator.cs
- PeerToPeerException.cs
- DiagnosticTrace.cs
- FrameworkContentElementAutomationPeer.cs
- ValidateNames.cs
- TypedTableBase.cs
- ToolboxItemFilterAttribute.cs
- ResponseStream.cs
- HierarchicalDataBoundControlAdapter.cs
- AnnotationAdorner.cs
- ClickablePoint.cs
- TypefaceCollection.cs
- OdbcRowUpdatingEvent.cs
- CachedBitmap.cs
- SkinBuilder.cs
- WebPartDisplayModeCancelEventArgs.cs
- SecurityPermission.cs
- MessageCredentialType.cs
- DataKey.cs
- StaticSiteMapProvider.cs
- UnsafeNativeMethods.cs
- SchemaNamespaceManager.cs
- CredentialCache.cs
- TextParaClient.cs
- While.cs
- PerformanceCounterLib.cs
- XmlElementAttribute.cs
- CustomValidator.cs
- JapaneseLunisolarCalendar.cs
- FileDialogCustomPlace.cs
- RuntimeConfigurationRecord.cs
- ProfileService.cs
- Int64AnimationUsingKeyFrames.cs
- WorkflowOperationErrorHandler.cs
- FtpWebResponse.cs
- EntityDataSourceDataSelectionPanel.cs
- SqlDelegatedTransaction.cs
- EntryIndex.cs
- ConnectorDragDropGlyph.cs
- BooleanToVisibilityConverter.cs
- BitVector32.cs
- hebrewshape.cs
- SafeHandle.cs
- GiveFeedbackEventArgs.cs
- ValueTable.cs
- GenericPrincipal.cs
- XmlQueryContext.cs
- PropertyCollection.cs
- DesignerAutoFormat.cs
- GlyphInfoList.cs
- WebHostedComPlusServiceHost.cs
- PropertyMapper.cs
- Input.cs
- TimelineGroup.cs
- SqlBooleanMismatchVisitor.cs
- SimpleRecyclingCache.cs
- CollectionView.cs
- TimeSpan.cs
- ZipIOExtraField.cs
- DataGridTablesFactory.cs
- SeekStoryboard.cs
- MessageQueueEnumerator.cs