Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163

    [VB.NET]"zone sensibili" in picturebox?

    Ciao ragazzi, è possibile creare delle "zone sensibili" (tipo la mappatura di un'immagine in html) all'interno di una picture box?
    All'interno della mia picturebox ho degli oggetti Drawrectangle e FillRectangle e dovrei far si che al passaggio del mouse si visualizzassero delle tooltip e che alcune di queste zone siano anche cliccabili per aprire un'altra form...
    non ho idea di come fare, potreste consigloiarmi qualche metodo da utilizare?

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    proprio nessuna idea?

  3. #3
    Metti delle label trasparenti...con l'evento click delle label fai i tasti...

  4. #4
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    Grazie mille per la dritta ^^
    Oggi ho guardato un po le ToolTip ma credo di aver capito (purtroppo) che non è possibile visualizzare testo su più righe...è possibile?
    Se si, con che oggetto posso rimediare?



    Edit:

    ok trovato

    Me.ToolTip.SetToolTip(Me.Grafico1, "Foo" & ControlChars.NewLine & "Bar")
    ora devo solo vedere come farlo visualizzare solo quando il mouse passa sopra le label trasparenti ^^

  5. #5
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    Scusate ma non riesco a capire come poter inserire delle label all'interno di una picturebox...
    ho trovato questo http://forum.html.it/forum/showthread.php?threadid=1084784 ma non ho ben capito come abbia risolto...
    avreste mica qualche consiglio?

  6. #6
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    Proprio nessun idea?

    ho trovato questa soluzione

    ll18V.BackColor = Color.Transparent
    ll18V.Parent = Grafico1
    ll18V.Height = 130
    ll18V.Width = 40
    ll18V.Location = New Point(35, 14 + 7)

    ll17V.BackColor = Color.Transparent
    ll17V.Parent = Grafico1
    ll17V.Height = 130
    ll17V.Width = 40
    ll17V.Location = New Point(85, 14 + 7)

    ll16V.BackColor = Color.Transparent
    ll16V.Parent = Grafico1
    ll16V.Height = 130
    ll16V.Width = 40
    ll16V.Location = New Point(135, 14 + 7)
    (ne ho messe solo 3 di label ma ne devo gestire una ventina in una picturebox...) e sembra funzionare ma....sembra che mi mette tutte le label una sopra l'altra perche è cliccabile solo l'area coperta dalla prima e, inoltre, se si prova a cliccare, mi apre una ventina di form (ogni label ha un proprio evento Click che apre una form diversa)....

    plz un input....

  7. #7
    Perchè non le crei in run-time la label? Trovi la posizione del cursore e fai tipo una struttura Select Case: dopo il ciclo inserisci la label con le proprietà (nome, colore sfondo, colore scrittura ecc..) impostate come vuoi all'interno del Select case..

    Non so se mi sono spiegato..

    ciao

  8. #8
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    Originariamente inviato da MdE2005
    Perchè non le crei in run-time la label? Trovi la posizione del cursore e fai tipo una struttura Select Case: dopo il ciclo inserisci la label con le proprietà (nome, colore sfondo, colore scrittura ecc..) impostate come vuoi all'interno del Select case..

    Non so se mi sono spiegato..

    ciao
    Prima di tutto thx per la risposta ^^
    Cmq ti sei spiegato bene però io sono ancora troppo rugginoso con vb.net (sono al primo approccio ancora ).
    Non capisco sopratutto una cosa: se uso le label (con l'evento click sulla label) perchè trovare la posizione del cursore (che non so come fare tra l'altro )?

  9. #9
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    plz una manina...sono bloccato su sto lavoro e non so proprio come andare avanti

  10. #10
    Con il metodo da me suggerito, non devi creare tante label: dividiamo il problema in 2:

    1) passaggio mouse --> comparsa tooltiptext
    2) click sull'immagine --> apertura form

    1) hai detto che hai già diviso l'immagine in regioni: nell'evento Mouse_Move determina la posizione del mouse (tramite API): fai un select case avente come oggetto la posizione del mouse; se è entro una regione che ti interessa allora imposti una variabile con il testo del tooltiptext

    Es. in pseudo-codice:
    codice:
    Select case posizione
    Case regione1 'il mouse è nella regione1
    tooltiptext = "Siamo nella regione n°1"
    Case regione2
    tooltiptext = "Siamo nella regione n°2"
    End select
    'crei una nuova label
    label.top = 'dove vuoi 
    label.left = 'dove vuoi
    label.caption = tooltiptext
    2) Gestisci l'evento Click (o DoubleClick, cm vuoi): ad ogni evento controlla la posizione del mouse: anche qui Select case e a seconda del case scelto mostri il form che desideri

    Non so se ti sono stato d'aiuto, comunque in ogni caso fammi sapere..

    Ciao

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.