示例#1
0
        private void Drag_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (this.IsDragging)
            {
                Point NewPoint;

                NewPoint = form.PointToScreen(new Point(e.X, e.Y));
                NewPoint.Offset(this.ClickedPoint.X * -1, this.ClickedPoint.Y * -1);

                form.Location = NewPoint;
            }
        }
示例#2
0
文件: BasicForm.cs 项目: mind0n/hive
 protected void OnMouseMove(object sender, MouseEventArgs e)
 {
     if (this.IsDragging)
     {
         Point NewPoint;
         NewPoint = this.PointToScreen(new Point(e.X, e.Y));
         //The new point is relative to the original point
         NewPoint.Offset((this.ClickedPoint.X + BorderWidth) * -1,
                         (this.ClickedPoint.Y + BorderWidth) * -1);
         //Finally, assign the form's location to the
         //determined new point
         this.Location = NewPoint;
     }
     base.OnMouseMove(e);
 }
示例#3
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            BitmapImage Image = new BitmapImage();

            Image.BeginInit();
            Image.UriSource = new Uri(@"/Images/new_game.jpg", UriKind.RelativeOrAbsolute); //загружаем картинку
            Image.EndInit();
            Image game = new Image();                                                       //картинка для кнопки

            game.Source      = Image;                                                       //Загруженная картинка
            btnMiner.Content = game;

            timer.Stop();
            lblTimer.Content = "0";
            lblFlags.Content = NumBombs;
            int[,] Mas       = new int[N, M];
            SetBombs(Mas);
            CountBombs(Mas);
            btns = new Button[N, M];
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    btns[i, j] = new Button();
                    NewPoint p = new NewPoint(i, j, Mas[i, j]);
                    btns[i, j].Tag     = p;
                    btns[i, j].Content = "";
                    btns[i, j].Width   = 30;
                    btns[i, j].Height  = 30;

                    btns[i, j].Click += btnNew_Click;
                    btns[i, j].MouseRightButtonDown += btnRight_Button_Click;
                    Canvas.SetLeft(btns[i, j], i * btns[i, j].Width);
                    Canvas.SetTop(btns[i, j], j * btns[i, j].Height);
                    cnvMain.Width  = btns[i, j].Width * N;
                    cnvMain.Height = btns[i, j].Height * M;
                    cnvMain.Children.Add(btns[i, j]);
                }
            }
        }
 Quadrant GetQuadrant(NewPoint point) =>
 point switch
 {
     (0, 0) => Quadrant.Origin,
        private void ProcessGeometry(Geometry geom)
        {
            if (geom == null)
            {
                return;
            }

            var GeometryType = geom.GetGeometryType();

            switch ((wkbGeometryType)((int)GeometryType & 0xffff))
            {
            case wkbGeometryType.wkbUnknown:
                break;

            case wkbGeometryType.wkbPoint:
                var pnt = new double[3];
                geom.GetPoint(0, pnt);
                NewPoint?.Invoke(new point(pnt));
                break;

            case wkbGeometryType.wkbLineString:
            {
                List <point> ls         = new List <point>();
                var          pointcount = geom.GetPointCount();
                for (int p = 0; p < pointcount; p++)
                {
                    double[] pnt2 = new double[3];
                    geom.GetPoint(p, pnt2);
                    ls.Add(pnt2);
                }

                NewLineString?.Invoke(ls);
                break;
            }

            case wkbGeometryType.wkbPolygon:
            {
                List <point> poly = new List <point>();
                for (int i = 0; i < geom.GetGeometryCount(); i++)
                {
                    var geom2       = geom.GetGeometryRef(i);
                    var pointcount1 = geom2.GetPointCount();
                    for (int p = 0; p < pointcount1; p++)
                    {
                        double[] pnt2 = new double[3];
                        geom2.GetPoint(p, pnt2);
                        poly.Add(pnt2);
                    }

                    NewPolygon?.Invoke(poly);
                }

                break;
            }

            case wkbGeometryType.wkbMultiPoint:
            case wkbGeometryType.wkbMultiLineString:
            case wkbGeometryType.wkbMultiPolygon:
            case wkbGeometryType.wkbGeometryCollection:
            case wkbGeometryType.wkbLinearRing:
            {
                Geometry sub_geom;
                for (int i = 0; i < geom.GetGeometryCount(); i++)
                {
                    sub_geom = geom.GetGeometryRef(i);
                    ProcessGeometry(sub_geom);
                }

                break;
            }

            case wkbGeometryType.wkbNone:

                break;
            }
        }