Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET] Controllare posizione e contenuto di controlli Textbox e Button

    Ciao ragazzi un saluto da un nuovo membro del forum.
    Dunque, programmando con Visual Studio 2017 (Visual Basic) ho creato un form
    con quattro Textbox (sopra) e quattro Button (sotto).
    Ho creato una routine che mi colora (random) le quattro Textbox.
    Ho creato una routine che mi consente di scegliere un colore di fondo per ognuno dei quattro
    Button
    Ora, - una volta scelti i colori per i Button - voglio creare una routine che mi consente di
    effettuare il controllo (uno x uno) tra Button e Textbox per verificare quanti colori e contestualmente
    quante posizioni di colore ho indovinato (tipo gioco mastermind per intenderci).
    Non riesco bene a capire come strutturarne il codice.
    Mi date una mano? Grazie

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    io non ho capito bene cosa vuoi ottenere, però potresti intanto mostrare il codice che hai creato.
    Puoi determinare la posizione di un button con Button1.Left oppure Button1.Location
    Ultima modifica di patel; 26-11-2017 a 13:57

  3. #3
    Allora hai presente il vecchio gioco mastermind ? Sto cercando di programmarlo in VB.
    Ho creato un form con quattro Textbox (sopra) e quattro Button (sotto) raggruppati nel GroupBox1.
    Ho creato una routine che mi colora (random) le quattro Textbox rendendomi visibile solo il GroupBox1 (gli altri 6 sono invisibili)
    Ho creato una routine che mi consente di scegliere un colore di fondo per ognuno dei quattro Button.

    Ora, una volta che ho scelto i colori per i Button, devo verificare che i 4 colori_Button corrispondano ai 4 colori_TextBox,
    sia nel colore sia nella posizione.
    Ragion per cui voglio creare una routine che mi consente di effettuare qst controllo, però mi sono incartato e
    non riesco ad andare avanti.
    Aggiungo codice.
    codice:
    Public Class Form1
        Dim colore(7) As Color
        Dim indice As Long
        
    Sub BtnGenera_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGenera.Click
            colore(0) = Color.Red 'settaggio dei colori primari iniziali
            colore(1) = Color.Yellow
            colore(2) = Color.Green
            colore(3) = Color.Blue
            colore(4) = Color.DarkOrange
            colore(5) = Color.Cyan
            colore(6) = Color.Purple
            colore(7) = Color.Brown
            indice = 0
            Randomize() 'Evita che all'avvio si generi sempre la stessa Random di colori iniziali
            TextBox1.BackColor = colore(Int(8 * Rnd())) 'Genera un colore Random tra gli 8 primari
            TextBox2.BackColor = colore(Int(8 * Rnd()))
            TextBox3.BackColor = colore(Int(8 * Rnd()))
            TextBox4.BackColor = colore(Int(8 * Rnd()))
            GroupBox1.Visible = True  'Rende visibile il GroupBox1
    End Sub
    
    Sub controllo()
            indice = indice + 1
            If indice > 7 Then indice = 0 'Azzera indice per ripetere la palette di colori
        End Sub
        Sub Btn5_Click(sender As Object, e As EventArgs) Handles Btn5.Click
            Btn5.BackColor = colore(indice)
            Call controllo() 'chiama la routine di controllo ripetizione palette
        End Sub
        Sub Btn6_Click(sender As Object, e As EventArgs) Handles Btn6.Click
            Btn6.BackColor = colore(indice)
            Call controllo()
        End Sub
        Sub Btn7_Click(sender As Object, e As EventArgs) Handles Btn7.Click
            Btn7.BackColor = colore(indice)
            Call controllo()
        End Sub
        Sub Btn8_Click(sender As Object, e As EventArgs) Handles Btn8.Click
            Btn8.BackColor = colore(indice)
            Call controllo()
        End Sub

  4. #4
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    una volta scelti i colori dei tuoi pulsanti basta controllare se il colore e la posizione delle textbox corrispondono, come individuare la posizione te l'ho già detto, basta controllare se il left del textbox è uguale a quello del pulsante con lo stesso colore,
    Chiaramente devi prima aver posizionato textbox e pulsanti con lo stesso left, oppure aver creato un array di textbox e uno di pulsanti, in tal caso confronti gli indici invece delle posizioni. Altro modo è quello di assegnare un tag uguale a textbox e pulsante sulla stessa colonna e confrontare tag e colore.
    Ultima modifica di patel; 26-11-2017 a 17:11

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