2010-11-01 24 views
8

Tôi có một biểu mẫu trong dự án hiện có của mình.Tạo bản sao của biểu mẫu trong Visual Studio 2008 (C#)

Nhiệm vụ hiện tại của tôi là tạo bản sao của biểu mẫu hiện có và thay đổi một vài thứ trên biểu mẫu mới. Tạo một bản sao của các tệp cs biểu mẫu sẽ không làm vì nội dung hiện có tự tham chiếu đến thông tin tệp.

Nói một cách đơn giản, tôi đang cố gắng vẽ một tên biểu mẫu MyNewForm, sẽ là bản sao của MyCurrentForm trực tiếp mà không gây ra bất kỳ xung đột đặt tên nào có thể phát sinh chỉ bằng cách sao chép nội dung mã.

Cách nhanh nhất để tôi có thể đạt được điều này là gì?

+1

Sao chép và đổi tên? – Oded

+2

Sẽ là ý tưởng của tôi quá – Dennis

+0

Thực tế có một số tệp được liên kết với biểu mẫu. Nó sẽ là một nhiệm vụ kéo và sai lầm để chỉnh sửa các tệp đó. –

Trả lời

23

Sao chép biểu mẫu trong trình khám phá giải pháp phòng thu trực quan. Đổi tên nó. Và thay đổi tên lớp theo cách thủ công cả trong tệp .cs và .Designer.cs. Không sử dụng tính năng tái cấu trúc VS vì nó thổi đi các tham chiếu đến lớp gốc.

+0

Làm thế nào để tạo bản sao này trong Visual Studio Solution Explorer? Tôi đã thử dán bản sao, nhưng tên tệp cũ được thay thế và có một số loại xung đột. –

+0

@Gunner: Tôi không thấy bất kỳ xung đột nào. Tôi chỉ cần nhấp chuột phải-> Sao chép và nhấp chuột phải vào thư mục thích hợp-> Dán. Nếu các tệp nằm trong cùng một thư mục, nó sẽ tạo "Bản sao của Form1" với tất cả các tên tệp có liên quan được đổi tên một cách thích hợp. – Kamyar

+0

Cảm ơn. Điều này đã làm việc cho tôi. Tôi đã bỏ qua tệp mới được tạo. –

0

Bạn chỉ có thể thêm biểu mẫu trống mới và sau đó chọn tất cả các mục trên biểu mẫu gốc và dán chúng vào biểu mẫu mới. Điều này sẽ không sao chép mã đằng sau. Nhưng điều đó cũng có thể được giải quyết bằng cách dán bản sao.

Điều này sẽ không gây ra bất kỳ xung đột đổi tên nào.

+0

Sẽ không dán bản sao thứ hai gây ra một số loại xung đột. –

1

Tại sao bạn cần sao chép biểu mẫu? Hãy thử tìm một số phép tái cấu trúc có thể giúp bạn, ví dụ: tạo ra một số hình thức cơ sở và trích xuất logic phổ biến ở đó.
Mỗi khi bạn thực hiện một con mèo con sao chép chết!

+4

đối với một số người trong chúng ta, mất một con mèo con là * khuyến khích *, không ngăn chặn. – JeremyDWill

+0

@JeremyDWill thích! – gonzobrains

9

Để nhân bản một hình thức (trong cùng một dự án):

  1. Nhấp chuột phải vào hình thức mã nguồn -> Sao chép
  2. Nhấp chuột phải vào thư mục đích/dự án -> Paste
  3. Ngay click vào hình thức mới -> đổi tên
  4. Thay đổi bằng tay tên lớp trong cs
  5. Thay đổi bằng tay tên constructor trong cs
  6. Thay đổi bằng tay tên lớp trong .Designer.cs

Tận hưởng!

Các vấn đề liên quan