Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problemone TabPage vb.net

    Ciao a tutti! Allora.. avrei un problema con le tabpage in vb.net.
    Io sto creando un programma che deve avere una scheda, chiamata indice, fissa e irremovibile e al clik di uno o + elementi all'interno di una listview dentro di essa, si deve visualizzare una scheda diversa. Fin qui una cavolata ma il mio problema è che vorrei farlo in stile firefox ovvero visualizzare il bottoncino che le chiuda senza doverla aprire.
    Tutti quelli trovati in su google (3 x la precisione) o non vanno, oppure non supportano determinate funzioni (es backcolor transparent)

    Ora la mia richiesta era se potevate aiutarmi a risolvere questo problema anche non con le tabcontrol.... qualsiasi suggerimento come ovviare al problema o come poterlo risolvere in qualsiasi maniera mi sarebbe utilissimo!

    Ultima cosa... ho provato a capirci qualcosa sul modificare lo stile grafico di un controllo ma ho visto che ci sono parti che richiedono grande destrezza e competenza nel farlo e io purtroppo per ora ne sono sprovvisto... dunque.. VIA ALLE IDEE!!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Io non ho capito. Spiega meglio come è strutturata questa form, quali controlli contiene (chiamandoli con il loro esatto nome), in quale gerarchia di contenitore si trovano e quale comportamento vuoi ottenere.

  3. #3
    ok.. allora.. ho una form contenente una tabControl. Qursta tabcontrol avrà una scheda di default chiamata indice contenente una listview con dentro degli elementi.
    Al click su uno degli elementi, vorrei che si aprisse un'altra tabPage (scheda) con visualizzate al suo interno le caratteristiche dell'elemento selezionato.
    Fin qui tutto ok.

    Il mio problema è che mi servirebbe che le schede si potessero chiudere senza doverle aprire, dunque applicando un bottone di fianco al testo della scheda (come firefox), però tutti i modi che ho trovato per applicare i bottoni sono complessi e cio che vi chiedo sarebbe un metodo alternativo o magari anche con le tabcontrol( se semplice) per poter risolvere il mio problema.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da name99
    Il mio problema è che mi servirebbe che le schede si potessero chiudere senza doverle aprire,
    Questa tua affermazione non ha alcun senso.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Originariamente inviato da name99
    Al click su uno degli elementi, vorrei che si aprisse un'altra tabPage (scheda) con visualizzate al suo interno le caratteristiche dell'elemento selezionato.
    Fin qui tutto ok.
    Mica tanto ok. La Listview dovrebbe stare sulla sinistra di una tabPage e cliccando su un elemento della Listview le caratteristiche di questo elemento dovrebbero apparire sulla destra della stessa TabPage.

    Per il resto, per ora, mi associo all'osservazione di gibra. Prova con un cassetto del comò se ti riesce

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Grumpy
    Prova con un cassetto del comò se ti riesce

  7. #7
    Perchè non avrebbe senso? io voglio fare in modo che non dibba clikkare sulla scheda e dunque visualizzare il contentu. Come FIREFOX. Mica apri la scheda e poi la chiudi, la puoi chiudere subito..

    cmq penso di essermi spiegato male.. La prima tabpage contiene la listview e qnd clicco su un elemento di essa, si crea una nuova tabpage con dentro i dati dell'oggetto...

    Non potete aiutarmi?

  8. #8
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    non esiste una maniera "semplice"...
    Quello che dovresti fare è rendere il controllo OwnerDrawn (DrawMode = OwnerDrawFixed) e sfruttare l'evento DrawItem per disegnare le linguette come più ti piace, aggiungendo anche l'icona della crocetta per chiuderle.
    Questo significa che lo stile che sei abituato a vedere nel TabPage non potrai averlo più, a meno di non ridisegnarlo uguale con i metodi grafici di VB.

    Boolean

  9. #9
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Una soluzione, meno accattivante graficamente, ma comunque funzionale, è quella di chiudere la Tab sfruttando il tasto centrale del mouse, proprio come avviene per Firefox.
    Questo codice, dovrebbe farti ottenere proprio questo effetto:

    codice:
        Private Sub TabControl1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseUp
            Dim thisControl As TabControl = CType(sender, TabControl)
            If Not e.Button = Windows.Forms.MouseButtons.Middle Then Exit Sub
            For i As Integer = 1 To thisControl.TabPages.Count - 1
                If thisControl.GetTabRect(i).Contains(e.Location) Then
                    thisControl.GetControl(i).Dispose()
                    Exit For
                End If
            Next
        End Sub
    Boolean

  10. #10
    grazie 1000!!! è che per ridisegnarlo lo farei volentieri ma non so proprio come fare a ridisegnare un controllo da codice... perchè altrimenti gli direi di ridisegnarlo uguale ma aggiungendo un bottone alla fine della linguetta...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.