Datagrid in altra form

martedì 10 marzo 2009 - 12.26

toniovigi Profilo | Expert

Ciao ragazzi ho nella mia Winform un datagridview settato con visible = false;

ho la necessità di aprire questa gridview al verificarsi di un evento in un altra form, come fare??

aiedail92 Profilo | Expert

Ciao

Hai due alternative:

1) Dalla Form contenente il DataGridView aggiungi un handler per l'evento che devi attendere si scateni per mostrare il controllo, e quindi nel gestore eventi lo mostri. Il codice diventa qualcosa di questo tipo:

class FormChiamante : Form { public event EventHandler EventoScatenante; } class FormConDataGridView : Form { DataGridView gridDaMostrare; FormConDataGridView(FormChiamante formDaMonitorarePerEventi) { formDaMonitorarePerEventi.EventoScatenante += new EventHandler(formDaMonitorarePerEventi_EventoScatenante); } void formDaMonitorarePerEventi_EventoScatenante(object sender, EventArgs e) { gridDaMostrare.Visible = true; } }

2) Intercetti l'evento direttamente sulla Form che lo scatena, quindi da questa chiami un metodo della Form contenente il DataGridView che ti mostra il controllo:

class FormChiamante : Form { public event EventHandler EventoScatenante; FormConDataGridView formConDataGridView; void OnEventoScatenante(EventArgs e) { if (EventoScatenante != null) { EventoScatenante(this, e); formConDataGridView.MostraDataGridView(); } } } class FormConDataGridView : Form { DataGridView gridDaMostrare; public void MostraDataGridView() { gridDaMostrare.Visible = true; } }

Naturalmente al posto di EventoScatenante puoi usare uno qualunque degli eventi già esistenti, come Click, Load, Validated ecc.

Se non capisci qualcosa, chiedi pure

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5