当前位置: 首页>>代码示例>>C#>>正文


C# Rectangle.CaptureMouse方法代码示例

本文整理汇总了C#中System.Windows.Shapes.Rectangle.CaptureMouse方法的典型用法代码示例。如果您正苦于以下问题:C# Rectangle.CaptureMouse方法的具体用法?C# Rectangle.CaptureMouse怎么用?C# Rectangle.CaptureMouse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Shapes.Rectangle的用法示例。


在下文中一共展示了Rectangle.CaptureMouse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: drawingPanelMouseDown

        private void drawingPanelMouseDown(object sender, MouseButtonEventArgs e)
        {
            _capturedPosition = e.GetPosition(drawingPanel);
            _mouseCaptured = true;
            _newRect = true;
            var rect = new Rectangle { Height = 1, Width = 1, Opacity = 0.2 };
            drawingPanel.Children.Add(rect);
            Canvas.SetLeft(rect, _capturedPosition.X);
            Canvas.SetTop(rect, _capturedPosition.Y);

            rect.CaptureMouse();
            rect.MouseMove += (_s,_e) =>
            {
                if (_mouseCaptured)
                {
                    if (_capturedPosition.Y < _e.GetPosition(drawingPanel).Y)
                    {
                        rect.Height = _e.GetPosition(drawingPanel).Y - _capturedPosition.Y;
                    }
                    else
                    {
                        rect.Height = _capturedPosition.Y - _e.GetPosition(drawingPanel).Y;
                        Canvas.SetTop(rect, _e.GetPosition(drawingPanel).Y);
                    }
                    if (_capturedPosition.X < _e.GetPosition(drawingPanel).X)
                    {
                        rect.Width = _e.GetPosition(drawingPanel).X - _capturedPosition.X;
                    }
                    else
                    {
                        rect.Width = _capturedPosition.X - _e.GetPosition(drawingPanel).X;
                        Canvas.SetLeft(rect, _e.GetPosition(drawingPanel).X);
                    }
                }
            };

            rect.MouseLeftButtonDown += (_s,_e) =>
            {

            };

            rect.MouseRightButtonDown += (_s, _e) =>
            {
                drawingPanel.Children.Remove(rect);
            };

            rect.MouseUp += (_s, _e) =>
            {
                _mouseCaptured = false;
                _newRect = false;
                rect.ReleaseMouseCapture();
                ReleaseMouseCapture();
            };
        }
开发者ID:kblc,项目名称:ExcelConverter,代码行数:54,代码来源:ImageParsingUserControl.xaml.cs

示例2: Capture

            public bool Capture(Point pt)
            {
                this.tub = get_tier_ui(pt);
                if (tub == null /*|| tub.TiersControl.Items.Count == 1*/)
                    return false;

                pt.X = 0.0;
                pp_offs = mg.TransformToDescendant(tub).Transform(pt);
                pp_offs.X += tub.Margin.Left;
                pp_offs.Y += tub.Margin.Top;

                var sz = new Size(tub.ActualWidth, tub.ActualHeight);

                this.tui = new Rectangle
                {
                    Fill = new ImageBrush
                    {
                        ImageSource = __util.GetImage(tub, null, sz),
                        Stretch = Stretch.None
                    },
                    Width = sz.Width,
                    Height = sz.Height,
                    Margin = tub.Margin,
                };

                this.bb = BindingOperations.GetBinding(tub, VisibilityProperty);
                BindingOperations.ClearBinding(tub, VisibilityProperty);
                tub.Visibility = Visibility.Hidden;

                mg.Children.Add(tui);

                return tui.CaptureMouse();
            }
开发者ID:hehaotian,项目名称:igt-editor,代码行数:33,代码来源:drag-canvas.cs


注:本文中的System.Windows.Shapes.Rectangle.CaptureMouse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。