[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public ListViewItem FocusedItem {
get {
- if (focused_item == null && Focused && items.Count > 0)
- focused_item = items [0];
return focused_item;
}
}
MouseHover += new EventHandler(ItemsMouseHover);
MouseUp += new MouseEventHandler(ItemsMouseUp);
MouseWheel += new MouseEventHandler(ItemsMouseWheel);
+ GotFocus += new EventHandler (FocusChanged);
+ LostFocus += new EventHandler (FocusChanged);
}
void ItemsDoubleClick (object sender, EventArgs e)
else if (me.Clicks == 1 && clicked_item != null)
owner.OnClick (EventArgs.Empty);
} else {
- if (owner.FocusedItem == null)
- owner.SetFocusedItem (owner.Items [0]);
if (owner.MultiSelect) {
Keys mods = XplatUI.State.ModifierKeys;
if ((mods & Keys.Shift) != 0)
}
}
+ void FocusChanged (object o, EventArgs args)
+ {
+ if (owner.Items.Count == 0)
+ return;
+
+ if (owner.FocusedItem == null)
+ owner.SetFocusedItem (owner.Items [0]);
+
+ Invalidate (owner.FocusedItem.Bounds);
+ }
+
internal override void OnPaintInternal (PaintEventArgs pe)
{
ThemeEngine.Current.DrawListViewItems (pe.Graphics, pe.ClipRectangle, owner);