Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404

    [VB.Net] Spostamento scroll bar

    Salve amici!!!! non so se potete aiutarmi,avrei bisogno di un piccolo aiuto sulle scroll bar di vb.net
    Ho una form dove ho messo una picture in cui appare un immagine più grande della form, per vedere tutta l'immagine uso le scroll bar per spostarmi sia in verticale che in orizzontale,poi nell'evento mouse move mi sopsto l'immagine con il mouse ma non si muovono le scroll bar; Ora mi chiedevo nell'evento mouse move per far muovere le scroll come posso farlo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    prova così

    codice:
    Dim a As Integer = Panel.Top
    Dim b As Integer = Panel.Left
    Dim xx As Integer = Pic.MousePosition.X - a
    Dim yy As Integer = Pic.MousePosition.Y - b
    Panel.AutoScrollPosition = New Point(xx, yy)

  3. #3
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    Scusate ancora,forse non mi sono spiegato bene,il problema è che sto creando un nuovo controllo personalizzato quindi ho anche due scroll bar per muovere la mappa all'interno del panel.Però il problema ora sta nel fatto che quando sposto la mappa nell'evento muouse move della picture dovrei contemporaneamente spostare anche le scroll.
    Vi posto una parte di codice che ho creato:
    Private Sub HScrollBar_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles HScrollBar.ValueChanged
    picture.Left = (MaxSpostamentoOrizzontale * (HScrollBar.Value / 90))
    End Sub

    Private Sub VScrollBar_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles VScrollBar.ValueChanged
    picture.Top = (MaxSpostamentoVerticale * (VScrollBar.Value / 90))
    End Sub

    Private Sub PictureBox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox.MouseMove

    If MouseButtons = MouseButtons.Left Then
    Dim NuovaPosizioneMouse As Point = picture.MousePosition
    Dim NuovaLeft, NuovaTop As Integer

    If Not NuovaPosizioneMouse.Equals(VecchiaPosizioneMouse) Then

    NuovaLeft = PictureBox.Left - VecchiaPosizioneMouse.X + NuovaPosizioneMouse.X
    NuovaTop = PictureBox.Top - VecchiaPosizioneMouse.Y + NuovaPosizioneMouse.Y
    'HScrollBar.Value = (MaxSpostamentoOrizzontale * (xx / 90))
    If NuovaLeft > 0 Then NuovaLeft = 0
    If NuovaTop > 0 Then NuovaTop = 0
    If NuovaLeft < -PictureBox.Width + Panel.Width - 4 Then NuovaLeft = -PictureBox.Width + Panel.Width - 4
    If NuovaTop < -PictureBox.Height + Panel.Height - 4 Then NuovaTop = -PictureBox.Height + Panel.Height - 4
    PictureBox.Left = NuovaLeft
    PictureBox.Top = NuovaTop
    VecchiaPosizioneMouse = NuovaPosizioneMouse
    End If
    End If


    End Sub

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Scusami ma non capisco perchè utilizzi le scrollbar quando il panel ha già al suo interno gli scroll bar che si auto aggiornano con il codice riportato sopra.

  5. #5
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    Uso le scrollBar per il semplice fatto che sto creando un controllo picture dall'inizio.Quindi ho inserito anche le scroll.
    Comunque ti ringrazio per l'aiuto ma sono riuscito a risolverlo,tramite una piccola formula matematica.
    Grazie ancora
    Ciao alla prossima

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.