.NET- এ কীভাবে সংস্থান তৈরি করতে এবং ব্যবহার করতে হয়


192

আমি কীভাবে এমন একটি সংস্থান তৈরি করব যা আমি আমার প্রোগ্রামের বিভিন্ন অংশে সহজেই উল্লেখ করতে এবং ব্যবহার করতে পারি?

আমার সুনির্দিষ্ট সমস্যাটি হ'ল আমার কাছে একটি বিজ্ঞপ্তি আইকন রয়েছে যা আমি প্রোগ্রামের অবস্থার উপর নির্ভর করে আইকনটি পরিবর্তন করতে চাই। একটি সাধারণ সমস্যা, তবে একটি আমি দীর্ঘদিন ধরে লড়াই করছি।

উত্তর:


325

ভাল, চারপাশে অনুসন্ধান এবং স্ট্যাকওভারফ্লো কাছাকাছি থেকে বিভিন্ন পয়েন্ট একসাথে cobling পরে (জিও, আমি এই জায়গাটি ইতিমধ্যে পছন্দ করি), বেশিরভাগ সমস্যা ইতিমধ্যে এই পর্যায়ে গিয়েছিল past আমি যদিও আমার সমস্যার উত্তর খুঁজে বের করতে পরিচালিত করেছি।

কীভাবে একটি উত্স তৈরি করবেন:

আমার ক্ষেত্রে, আমি একটি আইকন তৈরি করতে চাই। এটি কোনও অনুরূপ প্রক্রিয়া, যদিও আপনি কোন ধরণের ডেটা সংস্থান হিসাবে যুক্ত করতে চান তা বিবেচনা করে নয়।

  • আপনি যে প্রকল্পটিতে একটি সংস্থান যুক্ত করতে চান তাতে ডান ক্লিক করুন। সলিউশন এক্সপ্লোরারে এটি করুন। তালিকা থেকে "সম্পত্তি" বিকল্পটি নির্বাচন করুন।
  • "সংস্থানসমূহ" ট্যাবে ক্লিক করুন।
  • বারের শীর্ষের সাথে প্রথম বোতামটি আপনাকে যে ধরণের সংস্থান যোগ করতে চান তা নির্বাচন করতে দেয়। এটি স্ট্রিং শুরু করা উচিত। আমরা একটি আইকন যুক্ত করতে চাই, সুতরাং এটিতে ক্লিক করুন এবং বিকল্পগুলির তালিকা থেকে "আইকনগুলি" নির্বাচন করুন।
  • এরপরে, দ্বিতীয় বোতামে সরান, "সংস্থান যুক্ত করুন"। আপনি হয় একটি নতুন সংস্থান যোগ করতে পারেন, বা আপনার ইতিমধ্যে ইতিমধ্যে তৈরি একটি আইকন থাকলে আপনি এটিও যুক্ত করতে পারেন। আপনি যে কোনও বিকল্পের জন্য অনুরোধ জানুন Follow
  • এই মুহুর্তে, আপনি এডিট করতে নতুন যুক্ত হওয়া উত্সটিতে ডাবল ক্লিক করতে পারেন। দ্রষ্টব্য, সংস্থান এক্সপ্লোরার-এ সংস্থানগুলিও প্রদর্শিত হয় এবং সেখানে ডাবল ক্লিক করা ঠিক তত কার্যকর।

কীভাবে কোনও সংস্থান ব্যবহার করবেন:

দুর্দান্ত, সুতরাং আমাদের নতুন সংস্থান আছে এবং আমরা সেই সুন্দর পরিবর্তনশীল আইকনগুলি চুলকায় আছি ... আমরা কীভাবে এটি করব? ভাল, আমাদের ভাগ্যবান, সি # এটি অত্যন্ত সহজ করে তোলে।

একটি স্ট্যাটিক ক্লাস বলা হয় Properties.Resourcesযা আপনাকে আপনার সমস্ত সংস্থানগুলিতে অ্যাক্সেস দেয়, সুতরাং আমার কোডটি এতটা সহজ হিসাবে শেষ হয়েছিল:

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

সম্পন্ন! শেষ! সবকিছু সহজ যখন আপনি জানেন কিভাবে, তাই না?


এই জন্য ধন্যবাদ, ঠিক একই জিনিস খুঁজছিলেন। এক্সিকিউটেবলের মধ্যে .ico ফাইলগুলি এম্বেড করার কোনও উপায় আছে যাতে তারা পৃথক ফাইল হিসাবে না দেখায়? আমি আশা করি আমার প্রশ্নটি বোধগম্য হবে। শুভেচ্ছা,
এমসি_রট্টি

1
@ আন্ড্রেই: এটি হ'ল একটি উত্স। এটি যুক্ত হয়ে গেলে, এটি সংকলিত এক্সের অংশ হিসাবে এম্বেড করা হবে।
ম্যাথু শার্লে

1
"... বেশিরভাগ সমস্যা ইতিমধ্যে এই পর্যায়ে ছিল" - খুব সত্য ... এটি একসাথে রাখার জন্য ধন্যবাদ! আমি জানতাম এটা সহজ ... শেষ পর্যন্ত।
রোডগুলি

1
পার্শ্ব নোট হিসাবে, সংস্থান সময়ে রিসোর্স ফাইলগুলি লক হয়ে যায়। সুতরাং, রানটাইমগুলিতে গতিশীলভাবে এগুলি পরিবর্তন করা বিদ্যমান মানগুলিকে পরিবর্তন করতে খুব কম করে। আপনি রানটাইমের সময় মান পরিবর্তন করতে চাইলে কনফিগারেশন ফাইলগুলি ব্যবহার করুন। যদি এই কাউকে সাহায্য করে।
পুরুষার্থে

1
VB.NET সালে সম্পদ মাধ্যমে যেমন "My.Resources.GreenIcon" ব্যবহার করা হয়
অ্যান্ডি

9

উপরেরগুলি বাস্তবে আমার পক্ষে কাজ করেনি যেমনটি আমি ভিজ্যুয়াল স্টুডিও 2010 এর সাথে প্রত্যাশা করেছিলাম It এটি আমাকে সম্পত্তিগুলিতে অ্যাক্সেস করতে দেবে না es উত্সগুলি, বলেছিল অনুমতি সংক্রান্ত সমস্যার কারণে এটি অ্যাক্সেসযোগ্য। শেষ পর্যন্ত আমাকে সম্পদের বৈশিষ্ট্যগুলিতে দৃistence়তা সেটিংস পরিবর্তন করতে হয়েছিল এবং তারপরে আমি এটি কীভাবে রিসোর্স.ডিজাইনার.সি. ফাইলের মাধ্যমে অ্যাক্সেস করব তা জানতে পেলাম, যেখানে এটির একটি স্বয়ংক্রিয় গেটার ছিল যা আমার আইনে অ্যাক্সেস করতে দেয়, মাইনেমস্পেস.প্রপ্রেটিস.সোর্সগুলির মাধ্যমে .NameFromAddingTheResource। এটি আইকন টাইপের একটি অবজেক্ট প্রদান করে যা কেবল ব্যবহারের জন্য প্রস্তুত।


7

উপরের পদ্ধতিটি ভাল কাজ করে।

অন্য একটি পদ্ধতি (আমি এখানে ওয়েব ধরে নিচ্ছি) হ'ল আপনার পৃষ্ঠাটি তৈরি করা। পৃষ্ঠায় নিয়ন্ত্রণ যুক্ত করুন। তারপরে ডিজাইন মোডে থাকুন: সরঞ্জামগুলি> স্থানীয় উত্স উত্পন্ন করুন । রিসোর্স ফাইলটিতে ম্যাপযুক্ত পৃষ্ঠার সমস্ত নিয়ন্ত্রণ সহ একটি উত্স ফাইল স্বয়ংক্রিয়ভাবে সমাধানে উপস্থিত হবে।

অন্যান্য ভাষার জন্য সংস্থান তৈরি করতে, এক্সটেনশনের আগে ( অ্যাকাউন্ট.aspx.en-US.resx, অ্যাকাউন্ট.aspx.es-ES.resx ... ইত্যাদি) ফাইলের নামের শেষে 4 টি বর্ণের ভাষা যুক্ত করুন ।

কোড-পিছনে নির্দিষ্ট এন্ট্রি উদ্ধার করার জন্য, কেবল এই পদ্ধতি আহবান GetLocalResourceObject([resource entry key/name])

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.