public override void OnMouseButtonAction(Point point, MouseButtonAction type)
        {
            Point        subItemPoint;
            GridItemBase subItem = CurrentItem(point, out subItemPoint);

            if (subItem != null)
            {
                subItem.OnMouseButtonAction(subItemPoint, type);
            }
            else
            {
                base.OnMouseButtonAction(point, type);
            }
        }
Exemple #2
0
        internal void OnMouseButtonAction(Point point, MouseButtonAction type)
        {
            if (HasLeftExpander)
            {
                Image     image = Expanded ? ExpandedImage : ShrunkenImage;
                Size      s     = new Size(image.Width * 3, image.Height * 3);
                Rectangle r     = new Rectangle(new Point(), s);

                if (r.Contains(point))
                {
                    if (type == MouseButtonAction.MouseDown)
                    {
                        Expanded = !Expanded;
                        GridView.Refresh();
                    }
                    else
                    {
                        return;
                    }
                }
            }

            if (point.Y < RowHeight) // user has clicked on the row
            {
                Point        p;
                GridItemBase item = FindItemFromPoint(point, out p);
                if (item == null)
                {
                    return;
                }
                item.OnMouseButtonAction(p, type);
                return;
            }
            else // user has clicked on a sub row of the row
            {
                Point   p;
                GridRow row = FindRowFromPoint(point, out p);
                if (row == null)
                {
                    return;
                }
                row.OnMouseButtonAction(p, type);
            }
        }