Soy nuevo en C# así que me disculpo si esta es una pregunta novato. Estoy tratando de aclarar la sintaxis o el patrón para manejar eventos en C#.Controladores de eventos en C# - sintaxis/patrón
Así que tengo un objeto Form
Form1
y un Button button1
en el formulario. Manejo un evento Click con un método como este en Form1.cs:
private void button1_Click(object sender, EventArgs e)
{
Debug.WriteLine("click!");
}
que funciona bien. Ahora en otra forma Form2
Tengo un TreeView treeView1
, y quiero manejar el evento BeforeExpand
. Así que supuse que sería:
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
Debug.WriteLine("Hello!");
}
que de hecho no funciona: este método no se llama cuando amplío un nodo. Pero varias respuestas de SO implican que es la forma de hacerlo, por ejemplo, one.
De todos modos, encontré un enfoque alternativo que funciona para mí. En el formulario, el constructor vincula el controlador de eventos de la siguiente manera:
treeView1.BeforeExpand += new TreeViewCancelEventHandler(anyMethodNameYouLike);
¿Cuál es la diferencia entre estos dos enfoques? ¿Por qué la sintaxis _event no funciona para una vista en árbol? ¿Hay alguna diferencia entre los tipos de eventos?
Gracias
Así que vamos a ver si lo entiendo: en la versión que no funciona que sólo está definiendo el guía y ¿entonces? ¿No lo estás vinculando en esa versión? – Tudor