none
如何於VB2017實現滑鼠點擊form本體時,而從非標題列,可拖曳form。 RRS feed

  • 問題

  • 如何於VB2017實現滑鼠點擊form本體時,而從非標題列,可拖曳form。

    以下是目前語法:

        Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp
            Location = New Point(MousePosition)
        End Sub

    這樣拖曳會有誤差。

    2019年9月17日 下午 02:21

解答

  • 如何實現滑鼠點擊form本體,而從非標題列,拖曳form。

    以下是目前語法:

        Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp
            Location = New Point(MousePosition)
        End Sub

    這樣拖曳會有誤差。

    • 已合併 Bill ChungMVP, Moderator 2019年9月17日 下午 04:55 同樣問題內容,同一個發問者
    • 已標示為解答 大豬 2019年9月20日 下午 12:12
    2019年9月17日 下午 01:20

所有回覆

  • 如何實現滑鼠點擊form本體,而從非標題列,拖曳form。

    以下是目前語法:

        Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp
            Location = New Point(MousePosition)
        End Sub

    這樣拖曳會有誤差。

    • 已合併 Bill ChungMVP, Moderator 2019年9月17日 下午 04:55 同樣問題內容,同一個發問者
    • 已標示為解答 大豬 2019年9月20日 下午 12:12
    2019年9月17日 下午 01:20
  • Location 是指左上角,而你目前抓到的 MousePosition 則可能是 form 上的任何點。

    所以你應該在 Mouse Down 就先取得當時的 MousePosition ,在 Mouse Up 時計算 x, y 的差距換算。

    例如 mouse down 時的 position 是 (15,15) , Location 為 (10,10), mouse up 是 (100, 100)

    得出差距為 (85,85) ,因此新的 Location 是  (10+85, 10+85)


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年9月17日 下午 05:00
    版主
  • 您可以參考這個範例的做法:

    Make a transparent form and let the user move it in C#

    2019年9月18日 上午 12:51
  • Location 是指左上角,而你目前抓到的 MousePosition 則可能是 form 上的任何點。

    所以你應該在 Mouse Down 就先取得當時的 MousePosition ,在 Mouse Up 時計算 x, y 的差距換算。

    例如 mouse down 時的 position 是 (15,15) , Location 為 (10,10), mouse up 是 (100, 100)

    得出差距為 (85,85) ,因此新的 Location 是  (10+85, 10+85)


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    請問能夠實現嗎,我目前手頭的語法不足〈location.x或y的不能〉,請問不知道有沒有中階語法直接複製,我可以一起分析學習。
    2019年9月18日 上午 08:29
  • 如何於VB2017實現滑鼠點擊並拖曳form本體,而從非標題列拖曳form本體。
    2019年9月18日 下午 01:22
  • 請勿重複發問,將此問題合併致原有發問

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年9月19日 上午 10:00
    版主
  • https://docs.microsoft.com/zh-tw/dotnet/api/system.windows.forms.form.location?view=netframework-4.8


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年9月19日 上午 10:03
    版主