2008-09-18 37 views
134

Làm cách nào để tạo tài nguyên mà tôi có thể tham khảo và sử dụng trong các phần khác nhau của chương trình một cách dễ dàng?Cách tạo và sử dụng tài nguyên trong .NET

Vấn đề cụ thể của tôi là tôi có một NotifyIcon rằng tôi muốn thay đổi biểu tượng tùy thuộc vào trạng thái của chương trình. Một vấn đề thường gặp, nhưng tôi đã gặp khó khăn trong một thời gian dài.

Trả lời

232

Vâng, sau khi tìm kiếm xung quanh và cobbling với nhau điểm khác nhau từ xung quanh StackOverflow (gee, tôi yêu nơi này đã), hầu hết các vấn đề đã qua giai đoạn này. Tôi đã cố gắng giải quyết vấn đề của mình.

Cách tạo tài nguyên.

Trong trường hợp của tôi, tôi muốn tạo biểu tượng. Đó là một quá trình tương tự, bất kể bạn muốn thêm loại dữ liệu nào làm tài nguyên.

  • Nhấp chuột phải vào dự án bạn muốn thêm tài nguyên vào. Làm điều này trong Solution Explorer. Chọn tùy chọn "Thuộc tính" từ danh sách.
  • Nhấp vào tab "Tài nguyên".
  • Nút đầu tiên dọc theo đầu thanh sẽ cho phép bạn chọn loại tài nguyên bạn muốn thêm. Nó sẽ bắt đầu trên chuỗi. Chúng tôi muốn thêm một biểu tượng, vì vậy hãy nhấp vào biểu tượng đó và chọn "Biểu tượng" từ danh sách tùy chọn.
  • Tiếp theo, chuyển sang nút thứ hai, "Thêm tài nguyên". Bạn có thể thêm tài nguyên mới hoặc nếu bạn đã có biểu tượng đã được tạo, bạn cũng có thể thêm nó. Làm theo lời nhắc cho tùy chọn nào bạn chọn.
  • Tại thời điểm này, bạn có thể nhấp đúp vào tài nguyên mới được thêm để chỉnh sửa. Lưu ý, tài nguyên cũng hiển thị trong Solution Explorer và nhấp đúp có hiệu quả như

Cách sử dụng tài nguyên.

Tuyệt vời, vì vậy chúng tôi có nguồn tài nguyên mới và chúng tôi đang có những biểu tượng thay đổi đáng yêu ... Chúng tôi làm điều đó như thế nào? Vâng, may mắn cho chúng tôi, C# làm cho điều này cực kỳ dễ dàng.

Có một lớp tĩnh gọi Properties.Resources cung cấp cho bạn truy cập vào tất cả các tài nguyên của mình, do đó, mã của tôi kết thúc lên được đơn giản như:

Xong! Finis! Mọi thứ đều đơn giản khi bạn biết làm thế nào, phải không?

+0

cảm ơn vì điều này, đang tìm kiếm chính xác điều tương tự. có cách nào để nhúng các tệp .ico vào tệp thi hành để chúng không hiển thị dưới dạng tệp riêng biệt không? tôi hy vọng câu hỏi của tôi có ý nghĩa. kính trọng, –

+1

@Andrei: Đó chính xác là tài nguyên. Khi nó được thêm vào, nó sẽ được nhúng như một phần của exe được biên dịch. –

+0

"... hầu hết các vấn đề đã qua giai đoạn này" - Quá đúng ... Cảm ơn bạn đã đặt câu hỏi này lại với nhau! Tôi biết nó rất đơn giản ... cuối cùng. – roadsunknown

5

Phương pháp trên hoạt động tốt.

Một phương pháp khác (tôi giả sử web ở đây) là tạo trang của bạn. Thêm điều khiển vào trang. Sau đó, trong khi ở chế độ thiết kế, hãy vào: Công cụ> Tạo tài nguyên cục bộ. Một tệp tài nguyên sẽ tự động xuất hiện trong giải pháp với tất cả các điều khiển trong trang được ánh xạ trong tệp tài nguyên.

Để tạo tài nguyên cho các ngôn ngữ khác, hãy thêm ngôn ngữ 4 ký tự vào cuối tên tệp, trước phần mở rộng (Account.aspx.en-US.resx, Account.aspx.es-ES.resx ... v.v.)

Để truy xuất các mục nhập cụ thể trong codebehind, chỉ cần gọi phương thức này: GetLocalResourceObject ([khóa/tên mục nhập tài nguyên]).

7

Ở trên không thực sự làm việc cho tôi như tôi đã mong đợi với Visual Studio 2010.Nó sẽ không cho phép tôi truy cập vào Properties.Resources, cho biết nó không thể truy cập được do các vấn đề về quyền. Cuối cùng tôi đã phải thay đổi các thiết lập Persistence trong các thuộc tính của tài nguyên và sau đó tôi đã tìm cách truy cập nó thông qua tệp Resources.Designer.cs, nơi nó có bộ thu tự động cho phép tôi truy cập biểu tượng, thông qua MyNamespace.Properties.Resources .NameFromAddingTheResource. Điều đó trả về một đối tượng kiểu Icon, sẵn sàng để sử dụng.

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