2011-01-18 33 views
7

A class diagramTại sao Visual Studio đánh dấu lớp của tôi là một thành phần?

Tôi đã sao chép đã dán một số lớp vào dự án này, một số từ các dự án khác. Tại một số điểm VS đã đánh dấu Class1 là một thành phần (bạn có thể thấy từ biểu tượng được hiển thị trong ảnh chụp màn hình ở trên). Class2 là OK. Không có sự khác biệt trong file Thuộc tính và có sự khác biệt thú vị trong các mã giữa Class1Class2 (* trừ thấy chỉnh sửa dưới đây)

Nó không chỉ dừng lại mã từ biên soạn hoặc chạy. Nó thực sự là một vấn đề? Nó bất tiện trong đó IDE cố gắng mở cửa sổ Thiết kế nếu bạn nhấp đúp vào tệp.

Điều này xảy ra như thế nào và cách khắc phục?

Chỉnh sửa: Thực ra, có sự khác biệt thú vị trong cửa sổ mã. Ít nhất, phải có, kể từ khi loại bỏ một đoạn lớn của mã gây ra các giải pháp Explorer để hoàn nguyên các tập tin vào một tập tin Class. Khôi phục đoạn và tệp quay trở lại thành phần . Hiện tại ... đang điều tra.

Trả lời

12

Tôi không chắc chắn lý do tại sao nó làm điều này, nhưng tôi biết làm thế nào để thoát khỏi nó. Trước khi lớp học của bạn đặt:

[System.ComponentModel.DesignerCategory("Code")] 

Nó sẽ hoạt động.

+0

không hoạt động! cảm ơn. – hawbsl

+0

Bạn phải có toàn bộ vòng loại có trong thuộc tính (như được nêu ở trên), ngay cả khi bạn có một tuyên bố sử dụng cho System.ComponentModel. –

3

Đối với "tại sao" một phần của câu hỏi của bạn (lấy từ this post đó dường như là một bản sao):

Class với System.ComponentModel.Component trên con đường di sản của họ sẽ tự động được coi là "linh kiện" trong Visual Studio (2008), kích hoạt một biểu tượng khác cho tệp nguồn:

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