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

    [C]. chiamare routine con button creato

    Ciao la mia applicazione si connette ad una Db access preleva delle tabelle e per ogni record contenuto nel campo Campo1 genera un controllo tabcontrol, inserisce schede e button, il tutto viene eseguito con un ciclo for i=1 to ..

    PROBLEMA: Attraverso il ciclo che crea da codice pulsanti e schede si possono impostare le proprietà degli oggetti creati, ma dovrei impostare anche quale routine chiamano quando un button (per esempio) viene premuto,la routine uguale per tutti e nel nostro esempio diciamo che si chiama (routineA).

    Avete qualche esempio?
    Ciao e grazie

  2. #2
    Su che piattaforma e con che librerie stai lavorando? Puoi farci vedere il ciclo che hai scritto?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    sto lavorando con vb.net, c'e un database che contiene due tabelle:
    1)CATEGORIE
    2)SOTTOCATEGORIE
    UNA CATEGORIA PUO' AVERE UNA O PIU SOTTOCATEGORIE (RELAZIONE UNO A MOLTI).

    L'applicazione avvia una userform la quale carica le tabelle, e il bindingsource per la gestione dei dati cioè la loro modifica.

    La form inerente la mia domanda ha un controllo tabcontrol e due listbox:
    una contenente le categorie e l'altra è impostata attraverso una dataview per visualizzare le sottocategorie (e solo le sottocategorie) che appartangono alla categoria selezionata nella listbox1 (quella delle categorie)

    Onload oltre a gestire le datasource delle due listbox contiene i cicli di cui vi ho parlato.
    Sono due cicli uno dentro l'altro:
    Quello esterno crea le schede nel controllo tabcontrol, una scheda per ogni categoria e prima di passare alla scheda (categoria) successiva il ciclo interno crea i pulsanti (uno per ogni sottocategoria) sulla scheda appena creata.

    Spero di essere stato chiaro, il computer da cui scrivo non è lo stesso dove c'e il progetto e non ho molto tempo per riscrivere il codice, eventualmente lo inviero stasera se la descrizione appena esposta non dovesse essere
    ciao.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    VB.NET ? E cosa c'entra il C che hai inserito nel titolo ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Dim s, b As Integer 'INDICI PER I CICLI
    Dim NStr, NBot As String 'DELLE STRUTTURE E DEI PULSANTI DA CREARE
    Dim scheda As Control 'SCHEDE DA CREARE
    Dim button As Control 'PULSANTI DA CREARE
    Dim posizione As System.Drawing.Point 'POSIZIONE DEI PULSANTI
    Dim SPul As Double = 0 '0=da spostare ; 1=non spostare
    Dim NBotMax As Double = 3 'IL NUMERO DEI PULSANTI PER OGNI RIGA

    Try
    'SVUOTA LE SCHEDE E I PULSANTI
    TabControl1.Controls.Clear()

    'ESEGUE UN CICLO PER CREARE LE SCHEDE NECESSARIE
    For s = 0 To ListBox1.Items.Count.ToString - 1

    ListBox1.SelectedIndex = s
    NStr = ListBox1.Text
    scheda = New System.Windows.Forms.TabPage
    With scheda
    .Location = New System.Drawing.Point(4, 22)
    .Name = NStr
    .Padding = New System.Windows.Forms.Padding(3)
    .Size = New System.Drawing.Size(649, 326)
    .TabIndex = 0
    .Text = NStr
    .BackColor = Color.Transparent
    End With
    TabControl1.Controls.Add(scheda)

    'REIMPOSTA LE COORDINATE DEI PULSANTI. NUMERO MAX DI PULSANTI = 3
    posizione.X = 10
    posizione.Y = 20
    NBotMax = 3

    'ESEGUE UN ALTRO CICLO PER CREARE I PULSANTI
    For b = 0 To ListBox2.Items.Count.ToString - 1
    button = New System.Windows.Forms.Button
    ListBox2.SelectedIndex = b
    NBot = ListBox2.Text
    With button
    .Location = New System.Drawing.Point(posizione.X, posizione.Y)
    .Name = NBot
    .Size = New System.Drawing.Size(200, 35)
    .TabIndex = 0
    .Text = NBot
    End With
    scheda.Controls.Add(button)
    posizione.X = posizione.X + 205
    If b = NBotMax - 1 Then
    NBotMax = NBotMax + 3
    posizione.Y = posizione.Y + 40
    posizione.X = 10
    End If

    Next b

    Next s

    Catch ex As Exception

    MsgBox("impossibile caricare schede e pulsanti.", MsgBoxStyle.Critical, "Errore")
    Exit Sub

    End Try

    ho creato il tutto con questo codice

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non hai affatto risposto alla mia domanda ... ma non fa nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Scusa se ti rispoondo solo adesso, sono stato fuori e senza computer.

    Piattaforma? cosa intendi il sistema operativo (in tal caso è windowsXP)
    Mi spiego meglio, creato il button vorrei che nell'evento click dello stesso sia possibile eseguire una function.

    Ciao e di nuovo scusa per il ritardo.

  8. #8
    codice:
    AddHandler TuoBottone.Click, AddressOf routineA
    
    
    Private Sub routineA(ByVal sender As Object, ByVal e As System.EventArgs)
       'fa qualcosa
    End Sub

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.