/// <summary> /// fügt Device zu Raum hinzu /// </summary> private void _site_OnAddDevice(Device device) { try { // neues Devicesymbol erzeugen und konfigurieren SiteViewItem siteViewItem = new SiteViewItem(device); siteViewItem.RefreshParameters(); siteViewItem.Tag = device.Code; // Devicesymbol zu Ansicht, Liste und Index hinzufügen this.Controls.Add(siteViewItem); siteViewItem.Parent = pictureBoxSite; siteViewItem.BringToFront(); _siteViewItems.Add(siteViewItem); _siteViewItemsHash.Add(device.Code, siteViewItem); // Devicesymbol positionieren ArrangeDevice(siteViewItem); // EventHandler für Devicesymbol initialisieren siteViewItem.MouseDown += new MouseEventHandler(siteViewItem_MouseDown); siteViewItem.MouseMove += new MouseEventHandler(siteViewItem_MouseMove); siteViewItem.Move += new EventHandler(siteViewItem_Move); siteViewItem.GotFocus += new EventHandler(siteViewItem_GotFocus); siteViewItem.LostFocus += new EventHandler(siteViewItem_LostFocus); } catch (Exception ex) { Logger.Log.Error("Error on adding device.", ex); } }
/// <summary> /// speichert releative Mausposition und startet Ziehoperation /// </summary> private void siteViewItem_MouseDown(object sender, MouseEventArgs e) { try { // wenn linke Maustaste gedrückt if (e.Button == MouseButtons.Left) { // Devicesymbol referenzieren SiteViewItem siteViewItem = (SiteViewItem)sender; // relative Mausposition merken _dragLeft = e.X; _dragTop = e.Y; // Devicesymbol in den Vordergrund bringen siteViewItem.BringToFront(); } } catch (Exception ex) { Logger.Log.Error("Error on moving device icon.", ex); } }