it-swarm-id.com

Cara membuat dan menggunakan sumber daya di .NET

Bagaimana cara membuat sumber daya yang dapat saya rujuk dan gunakan di berbagai bagian program saya dengan mudah?

Masalah khusus saya adalah bahwa saya memiliki NotifyIcon yang ingin saya ubah ikonnya tergantung pada kondisi program. Masalah umum, tetapi saya sudah lama berjuang dengan itu.

168
Matthew Scharley

Nah, setelah mencari-cari dan mencari-cari berbagai titik dari sekitar StackOverflow (wah, saya sudah menyukai tempat ini), sebagian besar masalah sudah melewati tahap ini. Saya berhasil menemukan jawaban untuk masalah saya.

Cara membuat sumber daya:

Dalam kasus saya, saya ingin membuat ikon. Ini adalah proses yang serupa, tidak peduli apa pun jenis data yang ingin Anda tambahkan sebagai sumber daya.

  • Klik kanan proyek yang ingin Anda tambahkan sumber daya. Lakukan ini di Solution Explorer. Pilih opsi "Properties" dari daftar.
  • Klik tab "Sumber Daya".
  • Tombol pertama di bagian atas bilah akan memungkinkan Anda memilih jenis sumber daya yang ingin Anda tambahkan. Itu harus dimulai dengan string. Kami ingin menambahkan ikon, jadi klik dan pilih "Ikon" dari daftar opsi.
  • Selanjutnya, pindah ke tombol kedua, "Tambah Sumber Daya". Anda dapat menambahkan sumber daya baru, atau jika Anda sudah memiliki ikon, Anda dapat menambahkannya juga. Ikuti petunjuk untuk opsi apa pun yang Anda pilih.
  • Pada titik ini, Anda dapat mengklik dua kali sumber daya yang baru ditambahkan untuk mengeditnya. Catatan, sumber daya juga muncul di Solution Explorer, dan mengklik dua kali sama efektifnya.

Cara menggunakan sumber daya:

Hebat, jadi kami memiliki sumber daya baru dan kami ingin sekali memiliki ikon-ikon perubahan yang indah ... Bagaimana kami melakukannya? Yah, beruntung kami, C # membuatnya sangat mudah.

Ada kelas statis bernama Properties.Resources yang memberi Anda akses ke semua sumber daya Anda, jadi kode saya pada akhirnya menjadi sesederhana:

paused = !paused;
if (paused)
    notifyIcon.Icon = Properties.Resources.RedIcon;
else
    notifyIcon.Icon = Properties.Resources.GreenIcon;

Selesai! Jadi! Semuanya sederhana ketika Anda tahu caranya, bukan?

287
Matthew Scharley

Di atas tidak benar-benar bekerja untuk saya seperti yang saya harapkan dengan Visual Studio 2010. Itu tidak akan membiarkan saya mengakses Properties.Resources, mengatakan itu tidak dapat diakses karena masalah izin. Saya akhirnya harus mengubah pengaturan Ketekunan dalam properti sumber daya dan kemudian saya menemukan cara mengaksesnya melalui file Resources.Designer.cs, di mana ada pengambil otomatis yang memungkinkan saya mengakses ikon, melalui MyNamespace.Properties.Resources .NameFromAddingTheResource. Itu mengembalikan objek bertipe Icon, siap pakai saja.

8

Metode di atas berfungsi dengan baik.

Metode lain (saya mengasumsikan web di sini) adalah membuat halaman Anda. Tambahkan kontrol ke halaman. Kemudian saat dalam mode desain pergi ke: Alat> Hasilkan Sumber Daya Lokal. File sumber daya akan secara otomatis muncul dalam solusi dengan semua kontrol di halaman yang dipetakan dalam file sumber daya.

Untuk membuat sumber daya untuk bahasa lain, tambahkan 4 karakter bahasa ke akhir nama file, sebelum ekstensi (Account.aspx.en-US.resx, Account.aspx.es-ES.resx ... dll).

Untuk mengambil entri tertentu dalam codebehind, cukup panggil metode ini: GetLocalResourceObject ([kunci entri sumber daya/nama])).

6
Chuck Conway