[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.
[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.
di che index parli?
ti rammento che nell'evento click il parametro di tipo object (il sender) è la label che ha scatenato l'evento..
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
forse in C# bisogna costruire l'indice e poi leggerlo
ma io non so come costruirlo, qualcuno mi può aiutare?
Grazie mille.
ma dov'è questo array di label? te lo sei costruito tu?
posta il codice che non si capisce di cosa parli..
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";
}
}
}
Ciao.
Dai un occhio a quanto ho appena scritto qui.
Facci sapere...
Ciao
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?
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
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