2010-05-01 12 views
14

.NET novato alertaWinforms - eliminar visualmente clic de botón evento

utilizando Visual C# 2008 Express Edition He creado accidentalmente un evento de clic de un botón. Luego eliminé el código del método creado automáticamente, lo que dio como resultado un error que decía que la función, que ahora se había referenciado en el código de carga del formulario, ya no se podía encontrar.

Eliminación de la siguiente línea de la función del archivo Form1.Designer.csInitializeComponent() ...

this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click); 

... parece hacer el truco, sin embargo, que me hace sentir muy sucio debido a la siguiente advertencia al comienzo de la #region:

/// Required method for Designer support - do not modify 
/// the contents of this method with the code editor. 

no he sido capaz de encontrar una manera de hacer esto utilizando el diseñador de formularios, que supongo que es el medio que implica esta advertencia. ¿Cuál es la forma correcta de hacer esto?

+0

A veces simplemente elimino del código, no importa si sabes lo que estás haciendo –

Respuesta

30

Tienes que tener cuidado cuando trabajas en los archivos designer.cs pero no tienes que sentirte sucio al respecto (cuando cometo el mismo error es más fácil arreglarlo que el archivo designer.cs). Puede hacerlo visualmente de la siguiente manera:

  1. Abra el formulario en el diseñador del formulario.
  2. En el diseñador de formularios, haga clic en el botón de su interés.
  3. Presione F4 (o haga clic con el botón derecho y luego haga clic en Propiedades). El panel de propiedades debería aparecer.
  4. En la parte superior del panel de propiedades, haga clic en el rayo. Esto muestra los eventos para el botón.
  5. Encuentra el evento click y borra su controlador.
+2

Perfecto, gracias! –

+2

@Wayne Koorts: No hay problema, siempre dispuesto a ayudar :) –

2

De acuerdo, generalmente soy el que defiende el uso de notepad2 o algún otro editor de texto para realizar tareas de codificación.

Pero, ya que preguntas cómo hacerlo en el diseñador ...

  1. Abrir la forma en que se añadió el evento errónea a un control.
  2. Seleccione el control.
  3. Haga clic derecho, seleccione "Propiedades".
  4. Cambie a "Eventos" seleccionando el botón con el ícono de iluminación-perno.
  5. Seleccione el evento que necesita para eliminar.
  6. Después de colocar el mouse en el cuadro que muestra el nombre del método del controlador de eventos, elimine todo el texto de ese cuadro y presione enter. Esto eliminará el controlador de eventos y la asignación delegada para este evento en su control.

La única advertencia es: si desea conservar el método de su controlador de eventos (es decir, no es generado automáticamente por Visual Studio), probablemente desee evitar eliminar la asignación de esta manera. Porque cuando digo que elimina el controlador de eventos, debo decir que también se eliminará la declaración del método del controlador de eventos en "Form1.cs" (por ejemplo).

+0

Bien, soy un retrasado. No pulsé actualizar antes de comenzar a escribir. Jason Punyon ya dijo lo mismo. Dejaré mi respuesta porque creo que deberías saber que si lo haces de esta manera, estarás eliminando el controlador de eventos (sin previo aviso). Daría +1 a Jason, pero no tengo el representante ;-) – EtherealMonkey

+1

No eliminó la función real para mí, lo que en realidad me sorprendió. –

+0

Elimina solo los métodos vacíos, lo que tiene sentido. –

Cuestiones relacionadas