Beispiel #1
0
 protected override void OnMouseMove(MouseEventArgs e)
 {
     base.OnMouseMove(e);
     DynamicListRow rowFromPoint = this.GetRowFromPoint(e.Y);
     if (this.rowAtMousePosition != rowFromPoint)
     {
         this.rowAtMousePosition = rowFromPoint;
         base.Invalidate();
     }
     if (rowFromPoint != null)
     {
         int columnIndexFromPoint = this.GetColumnIndexFromPoint(e.X);
         if (columnIndexFromPoint >= 0)
         {
             DynamicListItem item = rowFromPoint[columnIndexFromPoint];
             if (this.itemAtMousePosition != item)
             {
                 if (this.itemAtMousePosition != null)
                 {
                     this.OnLeaveItem(this.itemAtMousePosition);
                 }
                 base.ResetMouseEventArgs();
                 this.itemAtMousePosition = item;
                 if (item != null)
                 {
                     if (item.Cursor != null)
                     {
                         this.Cursor = item.Cursor;
                     }
                     item.OnMouseEnter(this);
                 }
             }
             if (item != null)
             {
                 item.OnMouseMove(new DynamicListMouseEventArgs(this, e));
             }
         }
     }
 }
Beispiel #2
0
 public Point GetPositionFromRow(DynamicListRow row)
 {
     int y = -this.scrollOffset;
     foreach (DynamicListRow row2 in this.Rows)
     {
         if (row2 == row)
         {
             return new Point(0, y);
         }
         y += row2.Height + this.lineMarginY;
     }
     throw new ArgumentException("The row in not in this list!");
 }
Beispiel #3
0
 protected override void OnMouseLeave(EventArgs e)
 {
     this.rowAtMousePosition = null;
     if (this.itemAtMousePosition != null)
     {
         this.OnLeaveItem(this.itemAtMousePosition);
         this.itemAtMousePosition = null;
     }
     base.OnMouseLeave(e);
 }
 internal DynamicListItem(DynamicListRow row)
 {
     this.row = row;
 }