Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Позволить пользователю перемещать кнопки по форме? Добавлено: 20.03.06 15:00  

Автор вопроса:  Роман
Как Позволить пользователю перемещать кнопки по форме в VB.Net?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #1 Добавлено: 20.03.06 21:21
Drag and Drop или OLE DnD

Ответить

Номер ответа: 2
Автор ответа:
 mich



ICQ: 261800349 

Вопросов: 19
Ответов: 148
 Web-сайт: belkyokushin.net
 Профиль | | #2
Добавлено: 20.03.06 22:18
а мона вот так:

    Private MouseOffset As Point
    Private IsMouseDown As Boolean = False
    Private IsMouseResize As Boolean = False
    Private Sub btnOk_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnOk.MouseDown
        If e.Button = MouseButtons.Left Then
            If e.X > btnOk.Width - 15 Then
                btnOk.Cursor = Windows.Forms.Cursors.SizeWE
                IsMouseResize = True
            Else
                btnOk.Cursor = Windows.Forms.Cursors.SizeAll
                IsMouseDown = True
            End If
            MouseOffset.X = e.X
            MouseOffset.Y = e.Y
        End If
    End Sub
    Private Sub btnOk_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnOk.MouseUp
        IsMouseDown = False
        IsMouseResize = False
        btnOk.Cursor = Windows.Forms.Cursors.Default
    End Sub
    Private Sub btnOk_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnOk.MouseMove
        If IsMouseDown Then
            btnOk.Location = New Point( _
                btnOk.Location.X + e.X - MouseOffset.X, _
                btnOk.Location.Y + e.Y - MouseOffset.Y)
        ElseIf IsMouseResize Then
            btnOk.Width = e.X + 10
        End If
    End Sub

Ответить

Номер ответа: 3
Автор ответа:
 mich



ICQ: 261800349 

Вопросов: 19
Ответов: 148
 Web-сайт: belkyokushin.net
 Профиль | | #3
Добавлено: 20.03.06 22:23
или на API:

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Declare Sub ReleaseCapture Lib "user32" ()
    Const WM_NCLBUTTONDOWN As Integer = &HA1
    Const HTCAPTION As Integer = 2
    Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        If e.Button = MouseButtons.Left Then
            ReleaseCapture()
            SendMessage(Me.Button1.Handle.ToInt32, WM_NCLBUTTONDOWN, HTCAPTION, 0&;)
        End If
    End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам