diff --git a/Liner/Liner/FormShipConfig.Designer.cs b/Liner/Liner/FormShipConfig.Designer.cs index 5c597eb..fff8435 100644 --- a/Liner/Liner/FormShipConfig.Designer.cs +++ b/Liner/Liner/FormShipConfig.Designer.cs @@ -287,7 +287,7 @@ this.LabelDopColor.Text = "Доп. цвет"; this.LabelDopColor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.LabelDopColor.DragDrop += new System.Windows.Forms.DragEventHandler(this.LabelDopColor_DragDrop); - this.LabelDopColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelDopColor_DragEnter); + this.LabelDopColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelColor_DragEnter); // // LabelBaseColor // @@ -300,7 +300,7 @@ this.LabelBaseColor.Text = "Цвет"; this.LabelBaseColor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.LabelBaseColor.DragDrop += new System.Windows.Forms.DragEventHandler(this.LabelBaseColor_DragDrop); - this.LabelBaseColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelBaseColor_DragEnter); + this.LabelBaseColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelColor_DragEnter); // // pictureBoxObject // diff --git a/Liner/Liner/FormShipConfig.cs b/Liner/Liner/FormShipConfig.cs index 5814faa..169e877 100644 --- a/Liner/Liner/FormShipConfig.cs +++ b/Liner/Liner/FormShipConfig.cs @@ -80,9 +80,9 @@ namespace Liner } DrawShip(); } - private void setDragEffect(DragEventArgs e, Type needTypeData, bool condition) + private void LabelColor_DragEnter(object sender, DragEventArgs e) { - if (e.Data.GetDataPresent(needTypeData) && condition) + if (e.Data.GetDataPresent(typeof(Color))) { e.Effect = DragDropEffects.Copy; } @@ -91,16 +91,18 @@ namespace Liner e.Effect = DragDropEffects.None; } } - private void LabelBaseColor_DragEnter(object sender, DragEventArgs e) => setDragEffect(e, typeof(Color), _ship != null); - private void LabelDopColor_DragEnter(object sender, DragEventArgs e) => setDragEffect(e, typeof(Color), _ship != null && _ship is DrawningLiner); private void LabelBaseColor_DragDrop(object sender, DragEventArgs e) { + if (_ship == null) + { + return; + } _ship.SetColor((Color)e.Data.GetData(typeof(Color))); DrawShip(); } private void LabelDopColor_DragDrop(object sender, DragEventArgs e) { - if (_ship is not DrawningLiner liner) + if (_ship == null || _ship is not DrawningLiner liner) { return; }