Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143

    C#] index di array di controlli

    [C#] Salve a tutti, volevo
    sapere come si fa ad ottenere l'index di un array di label
    nell' evento click cioè cliccando su una label.
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    di che index parli?

    ti rammento che nell'evento click il parametro di tipo object (il sender) è la label che ha scatenato l'evento..

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    parlo dell'indice che ha un array di label, vorrei sapere
    come riesco a risalire all'indice quando clicco su label di
    questo tipo, grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    forse in C# bisogna costruire l'indice e poi leggerlo
    ma io non so come costruirlo, qualcuno mi può aiutare?
    Grazie mille.

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ma dov'è questo array di label? te lo sei costruito tu?

    posta il codice che non si capisce di cosa parli..

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    questo è il codice che ho copiato da Debiru

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace matriceLabel
    {


    public partial class Form1 : Form
    {

    private System.Windows.Forms.Label[] lblBottoniLST;


    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    this.lblBottoniLST = new Label[10];
    for (int i = 0; i < 6; i++)
    {
    this.lblBottoniLST[i] = new System.Windows.Forms.Label();
    // this.lblBottoniLST[i].Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));

    this.lblBottoniLST[i].Location = new System.Drawing.Point(i*100, 3);


    this.lblBottoniLST[i].Text = "Bottone " + i.ToString();

    this.lblBottoniLST[i].Name = "lblBottoniLST" + i.ToString();
    this.lblBottoniLST[i].Size = new System.Drawing.Size(92, 21);

    //this.lblBottoniLST[i].BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;

    this.lblBottoniLST[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

    this.lblBottoniLST[i].TabIndex = i;

    this.lblBottoniLST[i].TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    this.lblBottoniLST[i].Click += new System.EventHandler(this.lblBottoniLST_Click);
    this.Controls.Add(this.lblBottoniLST[i]);
    lblBottoniLST[i].BringToFront();
    }
    lblBottoniLST[0].Text = "Report";


    }

    //private void lblBottoniLST_Click(object sender, System.EventArgs e)

    private void lblBottoniLST_Click(object sender, EventArgs e)
    {
    lblBottoniLST[1].Text = "Prova";



    }



    }
    }

  7. #7
    Ciao.
    Dai un occhio a quanto ho appena scritto qui.

    Facci sapere...
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    ho trovato questo codice che mi sembra molto interessante

    foreach (control cnt in this.controls)
    {
    if (cnt is button)
    {
    ((button)cnt).click += this.lblBottoniLST_Click;
    }
    }

    ma poi come ottengo l'indice del bottone?

  9. #9
    Dimentica l'esistenza degli indici (intesi come li intendi tu) ..... dimentica Vb6 ... vb.net non c'entra nulla con vb6 .... fattene una ragione.
    Array di controlli(intesi come li intendi tu) non esistono in .Net .... tutti i tuoi controlli li troverai all'interno della stessa collezione (this.Controls).
    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    ho messo nel Form_Load il tuo codice ma mi da errore

    nella linea


    foreach (control cnt in this.controls)

    non trova control e this.controls

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.