item_control = new ItemControl (this);
Controls.AddImplicit (item_control);
- h_scroll = new HScrollBar ();
+ h_scroll = new ImplicitHScrollBar ();
Controls.AddImplicit (this.h_scroll);
- v_scroll = new VScrollBar ();
+ v_scroll = new ImplicitVScrollBar ();
Controls.AddImplicit (this.v_scroll);
h_marker = v_marker = 0;
}
}
+ internal void OnSelectedIndexChanged ()
+ {
+ if (IsHandleCreated)
+ OnSelectedIndexChanged (EventArgs.Empty);
+ }
+
internal int TotalWidth {
get { return Math.Max (this.Width, this.layout_wd); }
}
protected override void CreateHandle ()
{
base.CreateHandle ();
+ for (int i = 0; i < SelectedItems.Count; i++)
+ OnSelectedIndexChanged (EventArgs.Empty);
}
protected override void Dispose (bool disposing)
if (!list.Contains (item))
return;
+ bool selection_changed = owner.SelectedItems.Contains (item);
list.Remove (item);
OnChange ();
owner.Redraw (true);
+ if (selection_changed)
+ owner.OnSelectedIndexChanged (EventArgs.Empty);
}
public virtual void RemoveAt (int index)
{
if (index < 0 || index >= Count)
throw new ArgumentOutOfRangeException ("index");
+ bool selection_changed = owner.SelectedIndices.Contains (index);
list.RemoveAt (index);
OnChange ();
owner.Redraw (false);
+ if (selection_changed)
+ owner.OnSelectedIndexChanged (EventArgs.Empty);
}
#endregion // Public Methods