Click here to Skip to main content
15,897,518 members
Home / Discussions / C#
   

C#

 
GeneralSending messages from a thread Pin
caraboss15-Jun-04 18:18
caraboss15-Jun-04 18:18 
GeneralRe: Sending messages from a thread Pin
Corinna John15-Jun-04 20:04
Corinna John15-Jun-04 20:04 
GeneralRe: Sending messages from a thread Pin
caraboss16-Jun-04 3:45
caraboss16-Jun-04 3:45 
GeneralRe: Sending messages from a thread Pin
Heath Stewart16-Jun-04 4:00
protectorHeath Stewart16-Jun-04 4:00 
GeneralRe: Sending messages from a thread Pin
caraboss16-Jun-04 4:17
caraboss16-Jun-04 4:17 
GeneralRe: Sending messages from a thread Pin
caraboss16-Jun-04 4:40
caraboss16-Jun-04 4:40 
QuestionIndexer for a variables property? Pin
khan200015-Jun-04 17:00
khan200015-Jun-04 17:00 
AnswerRe: Indexer for a variables property? Pin
Heath Stewart16-Jun-04 3:58
protectorHeath Stewart16-Jun-04 3:58 
The easiest way is to define an event on SimpleClassList and fire that in the set indexer:
public class SimpleClassList
{
  private ArrayList list;
  public event ItemChangedEventHandler ItemChanged;
  protected virtual void OnItemChanged(ItemChangedEventArgs e)
  {
    if (ItemChanged != null)
      ItemChanged(this, e);
  }
  public SimpleClass this[int index]
  {
    get { return list[index] as SimpleClass; }
    set
    {
      list[index] = value;
      OnItemChanged(new ItemChangedEventArgs(index));
    }
  }
}
public class ItemChangedEventArgs : EventArgs
{
  public ItemChangedEventArgs(int index)
  {
    this.index = index;
  }
  private int index;
  public int Index
  {
    get { return index; }
  }
}
public delegate void ItemChangedEventHandler(object sender,
  ItemChangedEventArgs e);
Then just have some class handle the SimpleClassList.ItemChanged event:
simpleClassList1.ItemChanged +=
  new ItemChangedEventHandler(OnItemChanged);
//...
private void OnItemChanged(object source, ItemChangedEventArgs e)
{
  SimpleClassList list = source as SimpleClassList;
  if (list != null)
  {
    Console.WriteLine(list[e.Index].Position);
  }
}
There is already an ItemChangedEventHandler and ItemChangedEventArgs defined in System.Windows.Forms, but the constructor is internal (private to other assemblies) so you can't really use it, which is why I define a similar one here.

 

Microsoft MVP, Visual C#
My Articles
GeneralRealmForge GDK Game Development kit Pin
Liskl15-Jun-04 16:37
Liskl15-Jun-04 16:37 
GeneralDrag and Drop to Explorer Pin
Anders Molin15-Jun-04 14:17
professionalAnders Molin15-Jun-04 14:17 
GeneralRe: Drag and Drop to Explorer Pin
Heath Stewart16-Jun-04 3:48
protectorHeath Stewart16-Jun-04 3:48 
GeneralRe: Drag and Drop to Explorer Pin
Anders Molin16-Jun-04 3:52
professionalAnders Molin16-Jun-04 3:52 
GeneralDetermining the currently running processes Pin
sam00715-Jun-04 12:54
sam00715-Jun-04 12:54 
GeneralRe: Determining the currently running processes Pin
Dave Kreskowiak16-Jun-04 3:42
mveDave Kreskowiak16-Jun-04 3:42 
GeneralXmlSerializer - Invalid Xml Header Pin
AndyBewley15-Jun-04 12:11
sussAndyBewley15-Jun-04 12:11 
GeneralRe: XmlSerializer - Invalid Xml Header Pin
Heath Stewart16-Jun-04 3:43
protectorHeath Stewart16-Jun-04 3:43 
GeneralRe: XmlSerializer - Invalid Xml Header Pin
bigTrak17-Jun-04 12:20
bigTrak17-Jun-04 12:20 
GeneralRe: XmlSerializer - Invalid Xml Header Pin
Heath Stewart17-Jun-04 17:09
protectorHeath Stewart17-Jun-04 17:09 
GeneralConstructors Pin
Ganjah78615-Jun-04 11:57
Ganjah78615-Jun-04 11:57 
GeneralRe: Constructors Pin
leppie15-Jun-04 12:07
leppie15-Jun-04 12:07 
GeneralRe: Constructors Pin
Colin Angus Mackay15-Jun-04 12:09
Colin Angus Mackay15-Jun-04 12:09 
GeneralRe: Constructors Pin
Heath Stewart15-Jun-04 12:10
protectorHeath Stewart15-Jun-04 12:10 
GeneralRe: Constructors Pin
Ganjah78615-Jun-04 12:43
Ganjah78615-Jun-04 12:43 
GeneralRe: Constructors Pin
Heath Stewart16-Jun-04 3:06
protectorHeath Stewart16-Jun-04 3:06 
GeneralRe: Constructors Pin
Alvaro Mendez15-Jun-04 12:55
Alvaro Mendez15-Jun-04 12:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.