একটি ব্যবহারকারী নিয়ন্ত্রণ গ্রন্থাগার এবং একটি কাস্টম নিয়ন্ত্রণ লাইব্রেরি মধ্যে পার্থক্য কি?


168

আমি কেবল ডাব্লুপিএফ-তে দ্রুত গতিতে আসছি এবং পুনরায় ব্যবহারযোগ্য ডাব্লুপিএফ নিয়ন্ত্রণ তৈরি করতে চাই।

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

আমি তাদের মধ্যে পার্থক্য বুঝতে এবং আদর্শভাবে কখন একে অপরের উপর ব্যবহার করতে হবে তার কয়েকটি উদাহরণ দেখতে চাই।


2
কন্টেন্ট নেস্টিং বা নিয়ন্ত্রণের টেম্পলেটটিকে বিকল্প হিসাবে পরিবর্তন করতে ভুলবেন না। কোনও কাস্টম নিয়ন্ত্রণ না লিখে আপনি এইভাবে একটি নিয়ন্ত্রণে বেশ নাটকীয় পরিবর্তন করতে পারেন।
মিচাক

ঠিক কী বলেছে মাইকেল। ডাব্লুপিএফের সেরা অংশটি হ'ল বিদ্যমান নিয়ন্ত্রণগুলিকে টেম্প্লেট করা একটি বিশাল প্রভাব ফেলতে পারে। আপনার কাস্টম নিয়ন্ত্রণ খুব কমই প্রয়োজন require এটি উইনফর্মগুলির মত নয় যেখানে একটি নিয়ন্ত্রণে এমনকি সামান্য পরিবর্তনগুলির জন্য একটি নতুন উত্পন্ন নিয়ন্ত্রণের প্রয়োজন হয়।
মিক্কো রন্তানেন

এখনও দরকারী। আরেকটি সোনার ব্যাজ রাখুন।
3:56

উত্তর:


117

অনুশীলনে কাস্টম নিয়ন্ত্রণগুলি এমন কিছু যা আপনি কোড স্তরে প্রয়োগ করেন যখন আপনি ব্যবহারকারী নিয়ন্ত্রণের জন্য এক্সএএমএল ব্যবহার করতে পারেন। কাস্টম নিয়ন্ত্রণগুলি ডাব্লুপিএফ নিয়ন্ত্রণ বেস শ্রেণীর একটি প্রসারিত করে এবং কোডের মাধ্যমে অতিরিক্ত কার্যকারিতা সরবরাহ করে যাতে সমস্ত যুক্ত যুক্তি এবং উপস্থাপনা অবশ্যই কোডের মধ্যে প্রয়োগ করা উচিত।

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

একটি রানটাইম দৃষ্টিকোণ থেকে এই নিয়ন্ত্রণগুলির একটি সামান্য পার্থক্য রয়েছে। কোনও অ্যাপ্লিকেশন তৈরি করার সময় এবং এতে একটি ইউজারকন্ট্রোল স্থাপন করার সময়, কন্ট্রোল ট্রিটির ভিতরে একটি কংক্রিটের ইউজারকন্ট্রোল টেম্পলেট থাকবে। সুতরাং আমরা যদি বিশেষায়িত বোতামটির একটি খোঁড়া উদাহরণ বিবেচনা করি। আপনি যদি কোনও ব্যবহারকারী নিয়ন্ত্রণ ব্যবহার করে থাকেন তবে আপনি <UserControl>উপাদানটির ভিতরে একটি বোতাম যুক্ত করতে পারেন । একটি কাস্টম নিয়ন্ত্রণ ব্যবহার করার সময় আপনি সম্ভবত নিয়ন্ত্রণটি নিজেই একটি বোতাম থেকে প্রাপ্ত করতে পারেন। পার্থক্যটি যৌক্তিক গাছটিতে দৃশ্যমান হবে।

কাস্টম নিয়ন্ত্রণ অনুরূপ একটি যৌক্তিক গাছ প্রদান করবে

  • জানলা
    • CustomButton

ইউজারকন্ট্রোল এর একটি যৌক্তিক গাছ দেবে

  • জানলা
    • CustomButtonUserControl
      • বোতাম

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

এত কিছুর পরেও আমি ভিজুয়াল স্টুডিও টেম্পলেটগুলির মধ্যে এতটা পার্থক্য মনে করি না। সম্ভবত ব্যবহারকারী ভিজ্যুয়াল স্টুডিও কাস্টম নিয়ন্ত্রণটি খালি কাস্টম নিয়ন্ত্রণ সহ একটি প্রকল্প তৈরি করে যখন ব্যবহারকারী নিয়ন্ত্রণ প্রকল্পটি একটি খালি ব্যবহারকারী নিয়ন্ত্রণ সহ একটি প্রকল্প। আপনি প্রকল্পে পরে কোনও ধরণের আইটেম যুক্ত করতে পারেন।

হালনাগাদ

এবং কাস্টম নিয়ন্ত্রণ এবং ব্যবহারকারীর নিয়ন্ত্রণ কখন ব্যবহার করতে হবে সে সম্পর্কে আমার অভিমত হ'ল যদি আপনি কোনও ব্যবহারকারীর নিয়ন্ত্রণের সাথে কিছু করতে পারেন এবং লজিক্যাল ট্রিতে অতিরিক্ত নিয়ন্ত্রণ উপাদান আপনাকে বিরক্ত না করে তবে ব্যবহারকারী নিয়ন্ত্রণ ব্যবহার করুন কারণ এগুলি এত সহজ easier তৈরি এবং রক্ষণাবেক্ষণ। কোনও ব্যবহারকারীর নিয়ন্ত্রণ ব্যবহার না করার কারণ যদি আপনার কাছে থাকে তবেই একটি কাস্টম নিয়ন্ত্রণ ব্যবহার করুন।


2
অন্যান্য নিয়ন্ত্রণগুলিকে একত্রিত করতে একটি কাস্টম নিয়ন্ত্রণ ব্যবহার করা যেতে পারে?
26

এবং চামড়াযুক্ত / টেম্প্লেটেবল ইস্যু সম্পর্কে কী?
26

1
একত্রিত করে আপনি কী বোঝেন তা নিশ্চিত নন। আপনি অন্যান্য নিয়ন্ত্রণগুলি একত্রিত করে একটি কাস্টম নিয়ন্ত্রণ তৈরি করতে পারবেন না। তবে আপনি স্ট্যাকপ্যানেল, গ্রিড বা প্যানেল নিজেই প্যানেল নিয়ন্ত্রণ থেকে উদ্ভূত করতে পারেন যাতে আপনি একটি কাস্টম নিয়ন্ত্রণের সাথে একটি বিন্যাসের ধারকটি প্রয়োগ করতে পারেন (আপনি যদি ব্যবহারকারী ব্যবহারের মাধ্যমে এটি করতে পারেন কিনা তা নিশ্চিত নয়)।
মিক্কো রন্তানেন

হ্যাঁ, তবে আপনি যদি কেবল অন্যান্য নিয়ন্ত্রণগুলি একত্রিত করতে চান তবে সম্ভবত ব্যবহারকারী নিয়ন্ত্রণের সাথে এটি করা আরও সহজ। আপনি একটি কাস্টম নিয়ন্ত্রণ করতে চান তার উপর নির্ভর করে লিখতে সত্যিই কঠিন হতে পারে, এজন্য আপনি কেবলমাত্র একটি কক্ষের সাবসেট সরবরাহ করলেও আপনি একটি ব্যবহারকারী নিয়ন্ত্রণ ব্যবহার করতে পছন্দ করবেন।
মিচাক

1
সঠিক পদ্ধতি প্রয়োগ করার সময় এই দুটি নিয়ন্ত্রণই চামড়াযুক্ত / টেম্পলেটযোগ্য হওয়া উচিত। দুর্ভাগ্যক্রমে আমার ডাব্লুপিএফ রেফারেন্সটি বর্তমানে অফিসে তাই আমি প্রয়োগের বিশদটি যাচাই করতে পারি না।
মিক্কো রন্তানেন

23

এ এমন Controlকিছু আচরণের প্রতিনিধিত্ব করে যা চামড়াযুক্ত (টেম্প্লেটেটেবল) হয়, যেখানে UserControlএ সাধারণত একটি উচ্চ স্তরের সমষ্টি যা Controlকোনও অ্যাপ্লিকেশনের সাথে নির্দিষ্ট।

আরও তথ্য এখানে উপলব্ধ ।


3
এটি আমার কাছে পাওয়া লিঙ্কগুলির মধ্যে একটি যা জিনিসগুলি খুব ভালভাবে ব্যাখ্যা করে না :)। আমি অনুমান করি যে একটি জিনিস আমি অনুপস্থিত তা হ'ল চামড়াযুক্ত / টেম্পলেটযোগ্য আসলে কী এবং এটি ব্যবহারকারীর নিয়ন্ত্রণ দিয়ে কেন করা যায় না। এছাড়াও, লিঙ্কযুক্ত পোস্টের সর্বশেষ বাক্যটি "সাধারণভাবে এবং সহজভাবে বলতে গেলে, কাস্টম নিয়ন্ত্রণগুলিতে ব্যবহারকারীর নিয়ন্ত্রণগুলির চেয়ে ভাল নমনীয়তা এবং পুনরায় ব্যবহারযোগ্যতা থাকে" have যদি এটি সত্য হয় তবে আমি কেন কখনও একটি ব্যবহারকারী নিয়ন্ত্রণ তৈরি করতে চাই?
26
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.