// Подсвечиваем на 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(); } } }
// отпускание кнопки мыши - завершение выделения области 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; }