কীভাবে একটি ভিজ্যুয়াল স্টুডিও সরঞ্জামবক্সে একটি ইউজারকন্ট্রোল রাখবেন


94

আমি আমার প্রকল্পে একটি ব্যবহারকারীর নিয়ন্ত্রণ তৈরি করেছি এবং প্রকল্প তৈরির পরে, আমার এটি আমার সরঞ্জামবক্সে রেখে, এবং এটি সাধারণ নিয়ন্ত্রণ হিসাবে ব্যবহার করা দরকার। তবে আমি পারছি না এটি UserControlআমার প্রকল্পের নেমস্পেসে রয়েছে এবং আমি Choose Itemডান ক্লিক মেনুতে চেষ্টা করেছি , তবে আমি এটি যুক্ত করার উপায় খুঁজে পাইনি।

উত্তর:


116

আমি ধরে নিচ্ছি আপনি VS2010 ব্যবহার করছেন (এটিই আপনি প্রশ্নটিকে ট্যাগ করেছেন) ভিএস ২০০৮ / ২০০৫-এর মতো টুলবক্সে স্বয়ংক্রিয়ভাবে যুক্ত করতে আমার সমস্যা হয়েছিল। টুলবক্স অটো পপুলেটিং বন্ধ করার আসলে একটি বিকল্প আছে!

সরঞ্জামসমূহ> বিকল্পসমূহ> উইন্ডোজ ফর্ম ডিজাইনার> সাধারণ এ যান

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

আরে প্রেস্টো তারা আপনার সমাধান সমাধানে ব্যবহারকারীদের নিয়ন্ত্রণ করে তা স্বয়ংক্রিয়ভাবে টুলবক্সে যুক্ত করা উচিত। সমাধানটি আপনাকে আবারও লোড করতে হতে পারে।


32
আমার জন্য এখানে মূল কথাটি ছিল "পুনর্নির্মাণ" ... এটি চেষ্টা করেননি, ওহ! একা এটি আমার জন্য বাছাই করা।
ড্যানি বেকেট

4
এবং, আমাকে পুনর্নির্মাণের পরে সমাধানটি আবার খুলতে হয়েছিল
জিম লাহমান

4
ভিএস ২০১২-এ তারা এখন বিকল্প সমাধানের ইঙ্গিতটি যুক্ত করেছে 'বিকল্পটি কার্যকর করার জন্য এটির জন্য বর্তমান সমাধানটি পুনরায় খোলা থাকতে হবে' options
কার্লোস পি

4
@ আনাতোলি গুয়ামেনিই যদি UserControlবর্তমান প্রকল্পের বাইরে থাকে তবে আপনাকে @ আর্সেনির নির্দেশ অনুসরণ করতে হবে ।
আক্রমণাত্মক

4
দ্রষ্টব্য: ভিএস ২০১৩ এর মতো দেখতে, টুলবক্স> অটলবক্সপুলেট সেটিং এখন নতুন ইনস্টল-এ সত্যের ডিফল্ট ults
কার্মুজগাঁও

36

সরঞ্জামদণ্ডে ডান-ক্লিক করুন তারপরে প্রসঙ্গ মেনুতে "আইটেম চয়ন করুন" এ ক্লিক করুন। নিবন্ধিত উপাদানগুলির সাথে একটি কথোপকথন পপ আপ হয়। এই কথোপকথনে আপনি ব্যবহার করতে চান এমন ব্যবহারকারী নিয়ন্ত্রণের সাথে আপনার সমাবেশটি নির্বাচন করতে "ব্রাউজ করুন" ক্লিক করুন।

পুনশ্চ. এই সমাবেশ আগে নিবন্ধিত করা উচিত।


17
আপনি 'পূর্বে নিবন্ধিত' ব্যাখ্যা করতে পারেন? আমি মনে করি না যে এটি প্রয়োজনীয়।
হেন্ক হলটারম্যান

25

আমি দেখতে পেয়েছি যে ব্যবহারকারীর নিয়ন্ত্রণে অবশ্যই প্যারামিটারলেস কনস্ট্রাক্টর থাকতে হবে বা এটি তালিকায় প্রদর্শিত হবে না। কমপক্ষে vs2005 এ এটি সত্য ছিল।


8
Vs2012 এও।
কলবিবার্ন 21


6
Vs2015 এও?
সার্দার

4
হ্যাঁ এছাড়াও vs2015 মধ্যে
JRB

4
Vs2017 তালিকায় যুক্ত করুন
রায়ান

14

ভিএস 2010 ব্যবহার:

ধরা যাক আপনার একটি উইন্ডোজ.ফর্ম প্রকল্প রয়েছে। আপনি এই প্রকল্পে একটি ইউজারকন্ট্রোল (মাইকন্ট্রোল বলুন) যুক্ত করুন এবং এটি সমস্ত নকশা করুন। এখন আপনি এটিকে আপনার টুলবক্সে যুক্ত করতে চান।

প্রকল্পটি সফলভাবে একবারে নির্মিত হওয়ার সাথে সাথে এটি আপনার ফ্রেমওয়ার্ক উপাদানগুলিতে উপস্থিত হবে। প্রসঙ্গ মেনু পেতে সরঞ্জাম বাক্সটিতে ডান ক্লিক করুন, "আইটেমগুলি চয়ন করুন ..." নির্বাচন করুন এবং ".NET ফ্রেমওয়ার্ক উপাদানগুলি" ট্যাবের অধীনে আপনার নিয়ন্ত্রণের (মাইকন্ট্রোল) ব্রাউজ করুন।

Dlls ব্যবহারের ক্ষেত্রে সুবিধা: আপনি নিজের ফর্মের মতো একই প্রকল্পের নিয়ন্ত্রণগুলি সম্পাদনা করতে পারেন এবং ফর্মটি নতুন নিয়ন্ত্রণগুলি দিয়ে তৈরি করবে। তবে নিয়ন্ত্রণটি কেবল এই প্রকল্পে উপলভ্য হবে।

দ্রষ্টব্য: যদি নিয়ন্ত্রণে ত্রুটিগুলি তৈরি হয় তবে ধারণকৃত ফর্মগুলিতে যাওয়ার আগে এগুলি সমাধান করুন, বা ডিজাইনারের হার্ট অ্যাটাক হয়েছে।


4
আপনি অন্য সরঞ্জামের কাছেও উপলব্ধ হতে পারে যদি আপনি সরঞ্জাম বাক্সে .exe আমদানি করেন।
সেবাস্তিয়ান

4
"বা ডিজাইনারের হার্ট অ্যাটাক হয়েছে" সম্বলিত যে কোনও উত্তর আমার ভোট পেয়ে যায়!
জোয়েল

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

6

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

সমাধান:

  1. সমাধান এক্সপ্লোরার থেকে আমি আপত্তিজনক ব্যবহারকারীর নিয়ন্ত্রণ ফাইলটি ডান-ক্লিক করে প্রজেক্ট থেকে বাদ পড়ার জন্য নির্বাচন করেছি
  2. সমাধান পুনর্নির্মাণ
  3. ব্যবহারকারী নিয়ন্ত্রণে রাইট-ক্লিক করুন এবং প্রজেক্টে অন্তর্ভুক্ত নির্বাচন করুন (ধরে নিবেন যে সমাধান এক্সপ্লোরারটিতে সমস্ত ফাইল প্রদর্শন করা আছে )

দ্রষ্টব্য এটির জন্য আপনার অটোটুলবক্সপুলেট বিকল্পটি সক্ষম হওয়া দরকার। @ ডেভএফ উত্তর হিসাবে পরামর্শ দেয়।

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


3

বেশ কয়েকটি উপায় আছে।

  1. আপনার মূল প্রকল্পে, ফাইল | এক্সপোর্ট টেম্পলেট চয়ন করুন
    তারপরে আইটেম টেম্পলেটটি নির্বাচন করুন এবং উইজার্ডটি অনুসরণ করুন।

  2. আপনার ইউজারকন্ট্রোলকে একটি পৃথক শ্রেণিবদ্ধে স্থানান্তর করুন (এবং নামের স্থান ঠিক করুন)।
    যে প্রকল্পগুলি প্রয়োজন সেগুলি থেকে শ্রেণিবদ্ধের জন্য একটি রেফ যুক্ত করুন। জিএসি বা কোনও কিছু নিয়ে বিরক্ত করবেন না, কেবল ডিএলএল ফাইল।

আমি সাধারণ সরঞ্জামবক্সে ইউজারকন্ট্রোল রাখার পরামর্শ দেব না, তবে এটি করা যায়। @ আর্সেনির উত্তর দেখুন


এটি আরও ভাল পদ্ধতির বলে মনে হচ্ছে। একমাত্র অপূর্ণতা হ'ল আপনি চাক্ষুষভাবে নিয়ন্ত্রণ সম্পাদনা করতে পারবেন না (বা কমপক্ষে আমি কীভাবে তা খুঁজে পেলাম না)।
সেবাস্তিয়ান

কিছু নয়, আমি উপাদান হিসাবে টেম্পলেট যুক্ত করেছি এবং ডিজাইনার প্রদর্শিত হচ্ছে।
সেবাস্তিয়ান

আমি সম্পূর্ণরূপে সম্মত হয়েছি এবং ইউজারকন্ট্রোলযুক্ত প্রকল্পটি যদি একই সমাধানে থাকে তবে কোনও ডিএলএল এর সাথে লিঙ্ক দেওয়ার বিরুদ্ধে দৃ strongly়ভাবে পরামর্শও দেব। এবং এটি একটি ডিএলএল নিয়ে কাজ করবে, অর্থাৎ গ্রন্থাগার প্রকল্পের ইউজারকন্ট্রোল যে কোনও উইনফোর্স প্রকল্পে প্রদর্শিত হবে যা গ্রন্থাগারটির উল্লেখ করে (অবশ্যই একটি পুনর্নির্মাণের পরে ;-))।
সান-কুন ক্লার্ক-ডেভিস

2

আমার ক্ষেত্রে, আমি প্রকল্পের কোনও নিয়ন্ত্রণ দেখতে পেলাম না। কেবলমাত্র টুলবক্সে ডান ক্লিক করে এবং "সমস্ত দেখান" নির্বাচন করার সময় আমি তাদের দেখেছি, তবে তারা অক্ষম ...

উইন্ডোজ অ্যাপ্লিকেশন থেকে ক্লাসলিবারিতে প্রকল্পের ধরণ পরিবর্তন করা ঠিক করে দিয়েছে।


1

আপনি যদি আপনার বেস নিয়ন্ত্রণে জেনেরিক ব্যবহার করেন তবে বেসিক ক্যাসশন। যদি হ্যাঁ:

আমাদের নিয়ন্ত্রণ আছে বলে দিন:

public class MyComboDropDown : ComboDropDownComon<MyType>
{
    public MyComboDropDown() { }
}

মাইকমবোড্রপডাউন এটিতে ডিজাইনার খোলার অনুমতি দেবে না এবং টুলবক্সে প্রদর্শিত হবে না। কেন? কারণ বেস নিয়ন্ত্রণটি ইতিমধ্যে সংকলিত হয়নি - যখন মাইকমবোড্রপডাউন মেনে চলে। আপনি এটি পরিবর্তন করতে পারেন:

public class MyComboDropDown : MyComboDropDownBase
{
    public MyComboDropDown() { }
}

public class MyComboDropDownBase : ComboDropDownComon<MyType>
{

}

পুনর্নির্মাণের পরে এবং রিসেট সরঞ্জামবক্সটি ডিজাইনারে এবং টুলবক্সে মাইকমবোড্রপডাউনটি দেখতে সক্ষম হওয়া উচিত


0

আমার ডিজাইনারের সাথে ইস্যুটি 32 বনাম 64 বিটের সমস্যা ছিল। আমি টুলবক্সে 64-বিট এসেমসিলিগুলি থেকে কন্ট্রোলগুলি যোগ করতে বা ভিজুয়াল স্টুডিও আইডিই এমএস কেবি নিবন্ধের মধ্যে ডিজাইনারগুলিতে ব্যবহার করতে পারি না এমন নির্দেশাবলী অনুসরণ করার পরে আমি সরঞ্জাম বাক্সে নিয়ন্ত্রণ যুক্ত করতে পারি


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