2008-12-30 42 views
128

Có cách nào để Visual Studio hiển thị mã của điều khiển/biểu mẫu theo mặc định thay vì nhà thiết kế không? Tôi có xu hướng không phải là một fan hâm mộ của các nhà thiết kế khi họ thêm sưng lên.Visual Studio: Tạo mã xem mặc định

+0

tôi hiểu mong muốn của bạn để làm Xem mã mặc định, nhưng tôi không thấy những gì này đã làm với "sưng lên". Tuy nhiên bạn chỉnh sửa mã nó "kết thúc ở cùng một vị trí" (như mẹ tôi thường nói) – JoelFan

+0

Nhà thiết kế chỉ định hầu hết mọi thuộc tính của mọi phần tử biểu mẫu ngay cả khi nó là mặc định. Bạn có rất nhiều mã chỉ để làm những việc đơn giản. Tôi hiểu có một trường hợp sử dụng cho nó, nhưng nếu tôi chỉ có một hình thức đơn giản với một vài nút tôi có thể mã bằng tay. – smack0007

+0

@SplashHit: vấn đề lớn nhất của tôi với mã mở trong dạng xem thiết kế theo mặc định là VS sẽ chuyển đổi bất kỳ lớp C# nào có thuộc tính [RunInstaller] trên nó thành lớp thiết kế – galets

Trả lời

219

Nhấp chuột phải vào tệp và chọn "Mở bằng ..."

Chọn "CSharp Editor" và sau đó nhấp vào "Đặt làm mặc định".

+3

CẢM ƠN BẠN! Điều này khiến tôi phát điên. – DougN

+0

Tôi khá chắc chắn tôi không có tùy chọn "Mở bằng ..." cho đến khi tôi cài đặt Công cụ Nguồn điện TF. –

+0

điều này khiến tôi mất tùy chọn "xem mã" mặc dù –

4

Tôi thích có biểu mẫu mở trong Chế độ xem thiết kế nhưng tôi đã tạo tệp lớp một phần chỉ có mã và Visual Studio muốn mở nó trong Dạng xem thiết kế mọi lúc. Để ngăn Visual Studio nhận ra rằng một tệp nguồn cụ thể có thể được Trình thiết kế tải, hãy xem tệp csproj cho thẻ Biên dịch bao gồm của tệp nguồn thích hợp và loại bỏ thẻ SubType bên dưới nó.

+0

cũng: Mã số Engineer

3

Gần đây tôi đã tự mình gặp vấn đề này và các giải pháp trên không giải quyết được vấn đề của tôi. Tôi cần phải đi vào Tools | Options và thay đổi cài đặt cho HTML Designer thành Enable HTML designer và chọn Start pages in: Source View.

Settings screenshot

5

Trang trí lớp học của bạn với [System.ComponentModel.DesignerCategory ("")], ví dụ:

[System.ComponentModel.DesignerCategory("")] 
public class MySpecialButton : System.Windows.Forms.Button 
{ 
} 
+0

Vâng, đây là giải pháp tốt hơn, khi bạn muốn đặt nó chỉ cho một lớp, không phải là cài đặt GLOBAL. Điều thú vị là, nó không hoạt động nếu bạn viết [DesignerCategory ("")] và thêm sử dụng System.ComponentModel. – Szybki

+0

Đây phải là câu trả lời được chấp nhận, nếu không bạn sẽ mất "Xem mã" và khả năng sử dụng d esigner trên bảng. Điều này cho phép bạn làm điều đó ở cấp độ chi tiết (chẳng hạn như đối với các điều khiển người dùng kế thừa). – Patrick

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