2010-11-01 18 views
8

Tengo un formulario en mi proyecto existente.Hacer un duplicado de un formulario en Visual Studio 2008 (C#)

Mi tarea actual es hacer un duplicado de un formulario existente y cambiar algunas cosas en el nuevo formulario. Hacer una copia de los archivos cs del formulario no funcionaría dado que los contenidos existentes se refieren a la información del archivo.

En pocas palabras, estoy tratando de crear un nombre de formulario MyNewForm, que será un duplicado directo de MyCurrentForm sin causar ningún conflicto de nomenclatura que pueda surgir al copiar el contenido del código.

¿Cuál es la forma más rápida de lograr esto?

+1

¿Copiar y renombrar? – Oded

+2

Sería mi idea también – Dennis

+0

En realidad, hay varios archivos asociados con un formulario. Sería una tarea difícil y errónea editar esos archivos. –

Respuesta

23

Copie el formulario en Visual Studio Solution Explorer. Renombrarlo Y cambiar el nombre de clase manualmente tanto en archivos .cs como .Designer.cs. No use la función de refactorización VS ya que elimina las referencias a la clase original.

+0

¿Cómo hacer esta copia en Visual Studio Solution Explorer? Traté de copiar pegar, pero el antiguo nombre de archivo es reemplazado y hay algún tipo de conflicto. –

+0

@Gunner: no veo ningún conflicto. Simplemente hago clic derecho-> Copiar y hago clic derecho en la carpeta apropiada-> Pegar. Si los archivos están en la misma carpeta, crea "Copia de Form1" con todos los nombres de archivo relacionados renombrados apropiadamente. – Kamyar

+0

Gracias. Esto me ha funcionado. Pasé por alto el archivo recién creado. –

0

Puede simplemente agregar un nuevo formulario en blanco y luego seleccionar todos los elementos en el formulario original y pegarlos en el nuevo formulario. Sin embargo, esto no copiará el código. Pero eso también se puede resolver con copiar y pegar.

Esto no causará ningún conflicto de cambio de nombre.

+0

¿No hará la segunda copia pegar algún tipo de conflicto? –

1

¿Por qué necesita hacer una duplicación del formulario? Intenta encontrar algo de refactorización que pueda ayudarte, por ej. crea alguna forma básica y extrae lógica común allí.
¡Cada vez que haces una duplicación, el gatito muere!

+4

para algunos de nosotros, perder un gatito es * incentivo *, no disuasivo. – JeremyDWill

+0

@JeremyDWill like! – gonzobrains

9

Para duplicar un formulario (en el mismo proyecto):

  1. Haga clic derecho en la forma de la fuente -> Copiar
  2. clic derecho en la carpeta de destino/proyecto -> Pegar
  3. Derecho haga clic en el nuevo formulario -> Cambiar nombre
  4. cambiar manualmente el nombre de la clase en Cs
  5. cambiar manualmente el nombre del constructor en Cs
  6. cambiar manualmente el nombre de la clase en .Designer.cs

¡Disfrútalo!

Cuestiones relacionadas