2015-01-04 5 views
0

После того, как я попытался оптимизировать свой код с опцией Strict ON, я получаю много ошибок, по крайней мере один из них остается.Опция Strict On запрещает неявные преобразования из «System.Drawing.Point» в «System.Drawing.Size»

я создал переменную MoveForm_MousePosition в качестве точки = System.Drawing.Point

Imports System.Drawing 
    Public MoveForm_MousePosition As Point 

Private Sub lblYaple_MouseDown(sender As Object, e As MouseEventArgs) Handles lblYaple.MouseDown 
     If e.Button = MouseButtons.Left Then 
      MoveForm = True 
      Me.Cursor = Cursors.NoMove2D 
      MoveForm_MousePosition = e.Location 
     End If 
    End Sub 
    Public Sub lblYaple_MouseMove(sender As Object, e As MouseEventArgs) Handles lblYaple.MouseMove 
     If MoveForm Then Me.Location = Me.Location + (e.Location - MoveForm_MousePosition) 
    End Sub 

В этой линии

Если MoveForm Тогда Me.Location = Me.Location + (e.Location - MoveForm_MousePosition)

Option Strict On запрещает неявные преобразования из «System.Draw ing.Point»до '' System.Drawing.Size

не может понять, me.location и e.location и MoveForm_MousePostions должен быть System.Drawing.Point почему приходит данную ошибку?

+0

Попробуйте? 'Me.Location = Me.Location + New Point (e.Location - MoveForm_MousePosition)' –

ответ

2

Как видно из MSDN documents, тип параметра RHS оператора точечного вычитания равен Size.

'LHS (point) RHS (size) 
(e.Location - MoveForm_MousePosition) 

И как вы заметили, вы не можете преобразовать точечную структуру в структуру размера. Таким образом, один из способов исправить это - создать новую точечную структуру следующим образом:

Me.Location = New Point(
    (Me.Location.X + (e.Location.X - MoveForm_MousePosition.X)), 
    (Me.Location.Y + (e.Location.Y - MoveForm_MousePosition.Y)) 
) 
+0

Великий Thanx, который работает –

+1

@RichardDark Если это работает, то вы должны пометить ответ, нажав галочку, чтобы удалить его из оставшегося без ответа списка и подтвердить Усилия г-на К. – Plutonix

 Смежные вопросы

  • Нет связанных вопросов^_^