Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - VB.NET MenuStrip e proprietà CheckOnClick
Forum - C# / VB.NET - VB.NET MenuStrip e proprietà CheckOnClick

Avatar
cyclope05 (Normal User)
Newbie


Messaggi: 16
Iscritto: 06/09/2012

Segnala al moderatore
Postato alle 23:03
Martedì, 08/10/2013
Salve a tutti,
è da poco che programmo in vb.net e di conseguenza stò trovando qualche piccola difficoltà che spero con il vostro aiuto superare.

ho creato mediante l'oggetto MenuStrip il mio menù a tendina strutturato in questo modo e contenente 26 voci di menù

File
---Stile
-------XP
----------Blue   ......  (1)
----------Silver  .....  (2)
----------Olive   .....  (3)
-------Vista
----------Blue   .....  (4)
----------Black  .....  (5)

etc etc

ho visto che impostando su ogni singola voce la proprietà CheckOnClick su True quando il programma è in esecuzione, se la voce viene cliccata viene automaticamente visualizzato il Check.
La mia domanda ora è la seguente....
Come faccio a far si che quando una voce viene Checkata la precedente passi da true a false in automatico?

Potete darmi una mano per favore? credo che poi mi servirà per farlo anche sui text e sulle label per riuscire a svuotarle velocemente, con vb6 mi bastava creare l'indice dell'oggetto e fare un for e pulivo tutto qui non capisco come accelerare le procedure.

Grazie in anticipo per l'aiuto che potrete darmi.

PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 145
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 11:35
Mercoledì, 09/10/2013
Per farla semplice potresti creare una variabile che tiene traccia del menù cliccato e fare la verifica ad ogni nuovo click.

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 1:42
Giovedì, 10/10/2013
Codice sorgente - presumibilmente VB.NET

  1. 'Procedura che rileva il send del pulsante, se non corrispode modifica il checked.
  2.  Friend Sub CambiaLivello(ByRef Send As String)
  3.  
  4.         If Send <> LivelloFacileToolStripMenuItem.Text.Trim Then
  5.             LivelloFacileToolStripMenuItem.Checked = False
  6.         End If
  7.         If Send <> LivelloMedioToolStripMenuItem.Text.Trim Then
  8.             LivelloMedioToolStripMenuItem.Checked = False
  9.         End If
  10.         If Send <> LivelloDifficileToolStripMenuItem.Text.Trim Then
  11.             LivelloDifficileToolStripMenuItem.Checked = False
  12.         End If
  13.        
  14.     End Sub
  15.  
  16.     'Chiamo la Procedura
  17.      Private Sub LivelloFacileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LivelloFacileToolStripMenuItem.Click
  18.  
  19.        
  20.         CambiaLivello(sender.text)
  21.     End Sub
  22.  
  23.     Private Sub LivelloMedioToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LivelloMedioToolStripMenuItem.Click
  24.  
  25.        
  26.         CambiaLivello(sender.text)
  27.     End Sub
  28.  
  29.     Private Sub LivelloDifficileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LivelloDifficileToolStripMenuItem.Click
  30.  
  31.      
  32.         CambiaLivello(sender.text)
  33.     End Sub



  Prova in questo modo :k:

Ultima modifica effettuata da Ultimo il 10/10/2013 alle 1:47


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
cyclope05 (Normal User)
Newbie


Messaggi: 16
Iscritto: 06/09/2012

Segnala al moderatore
Postato alle 19:02
Sabato, 12/10/2013
grazie 1000 lo proverò subito e ti farò sapere :D

PM Quote