Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    119

    [VB.NET]richiamare controllo da stringa

    Buonasera forum,
    ho una form con 50 button nominati btnMem1, btnMem1, .... btnMem50
    da una certa funzione vorrei poter modificare la proprietà forecolor di tutti i button.

    Avendo un for che va da 1 a 50 come posso fare questa operazione

    cioè
    for a = 1 to 50
    btnMem & a.forecolor= .....
    next

    Spero di essere stato chiaro.

    Grazie, Alberto

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    119
    Scusate dimenticavo che la domanda è per vb.net

  3. #3
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    codice:
    Dim b(50) As Button
            b(1) = Me.Button1
            b(2) = Me.Button2
            b(3) = Me.Button3
            ....
            b(50)=Me.Button50
    
            Dim c As Color = Color.FromName("Red")
    
            For i As Integer = 1 To 50
                b(i).ForeColor = c
            Next

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Direi che è meglio usare una for each ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    codice:
    Me.Controls.Add(Button1)
    Me.Controls.Add(Button2)
    Me.Controls.Add(Button3)
      ...
    Me.Controls.Add(Button50)
    
    Dim ctrl As Control
    Dim c As Color = Color.FromName("Red")
    For Each ctrl In Me.Controls
         ctrl.ForeColor = c
    Next

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    119
    Grazie !!

    un'altra domanda

    Se per i 50 bottoni in ogni bottone devo fare una chiamata ricorsiva come posso evitare di fare così ?

    Private Sub btnMem1_Click(sender As System.Object, e As System.EventArgs) Handles btnMem1.Click
    Call SendMem("01")
    End Sub

    Private Sub btnMem2_Click(sender As System.Object, e As System.EventArgs) Handles btnMem2.Click
    Call SendMem("02")
    End Sub

    Private Sub btnMem3_Click(sender As System.Object, e As System.EventArgs) Handles btnMem3.Click
    Call SendMem("03")
    End Sub

    ............

    Private Sub btnMem50_Click(sender As System.Object, e As System.EventArgs) Handles btnMem50.Click
    Call SendMem("50")
    End Sub


    Grazie, Alberto

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Una chiamata ricorsiva?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    119
    Non so come chiamarla
    Ad ogni pressione di un bottone devo chiamare la stessa sub e la sub deve sapere da che pulsante viene chiamata

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Una chiamata ricorsiva è ben altra roba ...

    Il nome del bottone lo puoi passare tramite

    sender.name.ToString()
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.