Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149

    [VB.Net] conversione VB6 -> VB.NET

    Salve, ho trovato un codice per usare le scrollbar su un frame con contenuto dinamico. Il fatto è che il codice è scritto in VB6 e non riesco a capire come tradurre un pezzo

    Il codice è questo:
    codice:
    Private Sub Form_Load()
    VScrollBar1.Min = 0
    VScrollBar1.Max = PictureInterna.ScaleHeight - PictureEsterna.ScaleHeight
    End Sub
    
    Private Sub VScrollBar1_Scroll()
    PictureInterna.Top = -VscrollBar1.Value
    End Sub
    
    Private Sub VScrollBar1_Change()
    Call VScrollBar1_Scroll
    End Sub
    non riesco a trovare la funzione Change() della scrollbar...sapete darmi una mano??
    grazie
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  2. #2
    Non credo che sia del codice semplicemente da tradurre.
    Soluzione: studiati la classe
    http://msdn.microsoft.com/en-us/libr...scrollbar.aspx
    Apri un form su .net
    Metti il controllo
    Fai la stessa cosa su vb6
    Confronta il codice che funziona su vb6 con le proprietà ed i metodi presenti su vb.net

  3. #3
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ho provato a guardare ma il codice è il C#..

    se qualcuno riesce a tradurre il codice che ho postato nel primo post

    grazie
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  4. #4
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ho provato a risolvere unsando una formula che darebbe andata bene solo per la mia form. Nelle prove funzionava ma creando dinamicamente il contenuto della PictureBox interna non funziona più.

    Quindi se qualcuno riesce a dirmi qual'è la funzione ScrollBar_Change in VB.Net e che parametri devo usare per chiamare la funzione ScrollBar_Scroll

    codice:
    VScrollBar_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs)
    
    
    ' -------------------------------------------'
    
    
    Call VScrollBar_Scroll(cosa ci metto??, cosa ci metto??)
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  5. #5
    L'evento è il valuechange...

    comunque puoi benissimo creare un'applicazione windows in vb.net, inserire il controllo, selezionarlo e nel riquadro Proprietà cliccare l pulsante Eventi (icona di un fulmine... li ci sono tutti gli eventi per quel controllo...

    per il problema dell'evento scroll gli handles oppure basta che clicchi due volte sul controllo e lui ti scrive già la sub con l'evento scroll (basta che togli Handles + nome evento e metti nella sub in cui crei il controllo addandler NomeControllo.Evento, AddressOf nomesub)...
    comunque queste sono le basi dell'ìde di vb.net.. e un buon libro sull'argomento IDE di Visual Studio prima di cominciare a programmare sarebbe l'ideale...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    grazie per avermi detto qual'era la funzione da usare.

    ma adesso che parametri devo mettere quando richiamo VScrollBar_Scroll??
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  7. #7
    parametri? non devi passargli nulla... devi solo dagli il nome della sub all'addressof... leggiti qualcosa su addhandler e vb.net

    http://www.thescarms.com/dotnet/EventHandler.aspx
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  8. #8
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    forse non mi sono spiegato bene

    io la scrollbar non la creo dinamicamente, creo dinamicamente solo il contenuto della picturbox che viene spostata dalla scrollbar. per fare questo volevo tradurre questo codice che ho trovato sul forum:

    VB6
    codice:
    Private Sub Form_Load()
    VScrollBar1.Min = 0
    VScrollBar1.Max = PictureInterna.ScaleHeight - PictureEsterna.ScaleHeight
    End Sub
    
    Private Sub VScrollBar1_Scroll()
    PictureInterna.Top = -VscrollBar1.Value
    End Sub
    
    Private Sub VScrollBar1_Change()
    Call VScrollBar1_Scroll
    End Sub
    Per adesso sono riuscito a tradurlo così

    VB.Net
    codice:
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    VScrollBar.Minimum = 0
                VScrollBar.Maximum = (pbInt.Height - pbEst.Height)
        End Sub
    
        Private Sub VScrollBar_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar.Scroll
            pbInt.Top = -VScrollBar.Value
        End Sub
    
        Private Sub VScrollBar_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles VScrollBar.ValueChanged
            Call VScrollBar_Scroll(sender, e)
        End Sub
    solo che mi da errore in Call VScrollBar_Scroll(sender, e): Impossibile eseguire il cast di oggetti di tipo 'System.EventArgs' sul tipo 'System.Windows.Forms.ScrollEventArgs'

    se non mi ero ben spiegato prima chiedo scusa
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  9. #9
    invece di e prova a passargli Nothing... tanto la variabile e tu non la usi, giusto?

    oppure a tutte e due gli eventi richiami una sub creata da te:

    codice:
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    VScrollBar.Minimum = 0
                VScrollBar.Maximum = (pbInt.Height - pbEst.Height)
        End Sub
    
        Private Sub VScrollBar_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar.Scroll
            Call SpostaImmagine()
        End Sub
    
        Private Sub VScrollBar_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles VScrollBar.ValueChanged
            Call SpostaImmagine()
        End Sub
    
        Sub SpostaImmagine()
            pbInt.Top = -VScrollBar.Value
        End Sub
    Fammi sapere se funziona
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  10. #10
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ok adesso mettendo Nothing funziona

    ho dovuto usare un pannello esterno al posto della pictureBox esterna (pbEst) perchè spostando la picturebox interna (pbInt) andava a sovrapporla, mentre con il pannello rimane "contenuta".

    grazie per le risposte
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

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.