Пример #1
0
 // Подсвечиваем на 3 сек выбранную площадь и выводит информацию об арендаторе если она есть
 private void dgAreas_Click(object sender, EventArgs e)
 {
     LayerPicture.Invalidate();
     if (dgAreas.CurrentRow != null)
     {
         AreaRect  ar      = dgAreas.CurrentRow.DataBoundItem as AreaRect;
         var       selarea = dba.Value.FindAreaByName(ar.AreaName);
         Graphics  g       = LayerPicture.CreateGraphics();
         Pen       p       = new Pen(ar.isRented ? Color.Red : Color.Green, 5);
         Rectangle r       = new Rectangle(selarea.x1, selarea.y1, Math.Abs(selarea.x2 - selarea.x1), Math.Abs(selarea.y2 - selarea.y1));
         g.DrawRectangle(p, r);
         Thread.Sleep(3000);
         if (ar.isRented)
         {
             InputRenterInfo iri = new InputRenterInfo();
             iri.rrNew = dba.Value.GetAreaRenter(ar);
             iri.ShowDialog();
         }
     }
 }
Пример #2
0
        // отпускание кнопки мыши - завершение выделения области
        private void PlanePic_MouseUp(object sender, MouseEventArgs e)
        {
            // MessageBox.Show(e.Location.X.ToString(), e.Location.Y.ToString());
            // Конечная точка площади
            point2 = e.Location;

            InputAreaInfo iai = new InputAreaInfo();

            //string nameR = Interaction.InputBox("Введите название помещения", "Запрос", "", -1, -1);
            //// площадь
            //string[] square = Interaction.InputBox("Введите через запятую площадь цену и стоимость аренды", "Запрос", "", -1, -1).Split(',');
            //AreaRect orx = new AreaRect() { AreaName = nameR, x1 = point1.X, y1 = point1.Y, x2 = point2.X, y2 = point2.Y,
            //                                Square = Convert.ToInt32(square[0]), Price = Convert.ToInt32(square[1]), Cost = Convert.ToInt32(square[2])
            //};
            iai.ShowDialog();
            if (iai.DialogResult == DialogResult.OK)
            {
                iai.ar.x1 = point1.X;
                iai.ar.y1 = point1.Y;
                iai.ar.x2 = point2.X;
                iai.ar.y2 = point2.Y;

                Graphics  g = LayerPicture.CreateGraphics();
                Pen       p = new Pen(Color.Blue, 3);
                Rectangle r = new Rectangle(iai.ar.x1, iai.ar.y1, Math.Abs(iai.ar.x2 - iai.ar.x1), Math.Abs(iai.ar.y2 - iai.ar.y1));
                g.DrawRectangle(p, r);
                rects.Add(iai.ar);

                // Здесь добавим в базу с привязкой к вбранному слою его площади
                dba.Value.AddLayerArea(dgLayers.CurrentRow.DataBoundItem as LayerRect, iai.ar);
                RefreshAreaList();
            }


            // Отключаем обработку сообщений
            this.LayerPicture.MouseDown -= new System.Windows.Forms.MouseEventHandler(this.PlanePic_MouseDown);
            this.LayerPicture.MouseUp   -= new System.Windows.Forms.MouseEventHandler(this.PlanePic_MouseUp);
            // добавляем обработку клика
            this.LayerPicture.Click += new System.EventHandler(this.LayerPicture_Click);
            this.LayerPicture.Cursor = System.Windows.Forms.Cursors.Default;
        }