示例#1
0
        internal bool DoMouseUp(MouseButtonEventArgs e)
        {
            if (Parent == null)
            {
                return(false);
            }

            if (!isDragged)
            {
                Point im = new Point(e.X - inner.X, e.Y - inner.Y);

                if (hoverChild != null && hoverChild.IsDragged)
                {
                    hoverChild.DoMouseUp(new MouseButtonEventArgs(im.X - hoverChild.Outer.X, im.Y - hoverChild.Outer.Y, e.Button, e.IsPressed));
                    return(true);
                }

                if (inner.Contains(e.Position))
                {
                    foreach (GLControl control in controls)
                    {
                        if (control.Outer.Contains(im))
                        {
                            if (control.DoMouseUp(new MouseButtonEventArgs(im.X - control.Outer.X, im.Y - control.Outer.Y, e.Button, e.IsPressed)))
                            {
                                return(true);
                            }
                        }
                    }
                }
            }

            if (MouseUp != null)
            {
                MouseUp(this, e);
                return(true);
            }

            return(handleMouseEvents);
        }