| | |
| | | MouseMove += Canvas_MouseMove; |
| | | MouseUp += Canvas_MouseUp; |
| | | |
| | | EventRouter.ChangeElementsMouseState = OnElementChangeMouseState; |
| | | EventRouter.ChangeElementsMouseState -= OnElementChangeMouseState; |
| | | EventRouter.ChangeElementsMouseState += OnElementChangeMouseState; |
| | | } |
| | | |
| | | #region Event |
| | |
| | | #endregion |
| | | |
| | | #region 重绘 |
| | | volatile bool _isInRepaint = false; |
| | | object _isInRepaintLock = new object(); |
| | | protected override void OnPaint(PaintEventArgs e) |
| | | { |
| | | //if (_isInRepaint) |
| | | // return; |
| | | |
| | | //lock (_isInRepaintLock) |
| | | //{ |
| | | // if (_isInRepaint) |
| | | // return; |
| | | //} |
| | | |
| | | //_isInRepaint = true; |
| | | |
| | | try |
| | | { |
| | | Rectangle rect = ClientRectangle; |
| | |
| | | Graphics g = myBuffer.Graphics; |
| | | g.SmoothingMode = SmoothingMode.HighSpeed; |
| | | g.PixelOffsetMode = PixelOffsetMode.HighSpeed; |
| | | g.InterpolationMode = InterpolationMode.Low; |
| | | g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; |
| | | g.CompositingQuality = CompositingQuality.HighSpeed; |
| | | g.Clear(BackColor); |
| | | |
| | | g.MultiplyTransform(Matrix); |
| | |
| | | catch (Exception) |
| | | { |
| | | } |
| | | |
| | | _isInRepaint = false; |
| | | } |
| | | |
| | | private void halfTransparent() |
| | |
| | | MouseState = MouseState.Normal; |
| | | } |
| | | } |
| | | |
| | | this.Invalidate(); |
| | | } |
| | | #endregion |
| | | |
| | |
| | | if (map == null) |
| | | return; |
| | | |
| | | MAP?.Dispose(); |
| | | MAP = null; |
| | | |
| | | MAP = map; |
| | | //MAP = map; |
| | | |