আমি কীভাবে একটি নিয়ন্ত্রণে একটি সরঞ্জামচালনা যুক্ত করব?


154

আমার কিছু নিয়ন্ত্রণ রয়েছে যা আমি ToolTipযখন মাউসটির উপর দিয়ে ঘুরে বেড়াচ্ছি তখন এর জন্য একটি প্রদর্শন করতে চাই । কিভাবে আমি এটি করতে পারব? কোডে সঠিকভাবে এটি কীভাবে করা যায় তা আমি জানতে চাই, তবে ডিজাইনারেও ( ToolTipটুলবক্সে একটি উপাদান রয়েছে, তবে আমি এটি বেশিরভাগই পাই না)।

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



সম্পর্কিত, এবং আরও পুরনো এখনও (সাধারণভাবে নেটকে
ক্রিস্টোফার কাইল হার্টন

উত্তর:


208

কোড সহ এটি করার জন্য আপনার নিবন্ধটি এখানে

private void Form1_Load(object sender, System.EventArgs e)
{
     // Create the ToolTip and associate with the Form container.
     ToolTip toolTip1 = new ToolTip();

     // Set up the delays for the ToolTip.
     toolTip1.AutoPopDelay = 5000;
     toolTip1.InitialDelay = 1000;
     toolTip1.ReshowDelay = 500;
     // Force the ToolTip text to be displayed whether or not the form is active.
     toolTip1.ShowAlways = true;

     // Set up the ToolTip text for the Button and Checkbox.
     toolTip1.SetToolTip(this.button1, "My button1");
     toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}

3
সুতরাং আমি অনুমান করি toolTip1ভেরিয়েবলের সুযোগটি বাদ দিলে তাতে কিছু যায় আসে না ?
সুইভিশ

1
ToolTipআপনার সমস্ত ফর্মের জন্য একটি স্থিতিশীল সম্পর্কে কি ?
Svish

7
এটি একবার অবাস্তব হয়ে ওঠার পরে এটি মুক্ত হবে, যা এটি হবে না, বোতাম এবং চেকবক্সটি এখনও এটিকে রেফারেন্স করবে
রোল্যান্ড শ

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

3
আমি মনে করি এটি স্ট্যাটিক ভেরিয়েবলের জন্য সরঞ্জামটিপ স্থাপন করা একটি খারাপ ধারণা। যদি কোনও ফর্ম বন্ধ হয়ে আবার খোলা থাকে তবে কী হবে? সেটটুলটিপ আবার কাজ করবে? এবং যদি তা হয় তবে বন্ধ ফর্মটির হ্যান্ডলারগুলি কি স্মৃতিতে থাকবে বা সঠিকভাবে মুছে যাবে? আমি এটি পরীক্ষা করতে এক মিনিটও ব্যয় করব না। পরিবর্তে সদস্য ভেরাবে ব্যবহার করুন - বুলেট প্রুফ!
এলময়ে

138

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


54
নিশ্চিত হয়ে নিন যে আপনি যখন এটি করেন (সকাল 2 টায়) আপনি কোনও সরঞ্জামদ্বীপ নিয়ন্ত্রণ ব্যবহার করেন এবং কোনও সরঞ্জাম স্ট্রিপ নিয়ন্ত্রণ নয়।
অ্যাড্রিয়ান কে

2
এই উত্তরের সাহায্যে উইনফর্মটিতে কেবলমাত্র একটি একক সরঞ্জামদণ্ড যুক্ত করা ফর্মের সমস্ত নিয়ন্ত্রণকে তাদের নিজস্ব টুলটিপ দেয়।
এসএম

এর সরলতায় শক্তিশালী, কেবল নিশ্চিত হয়ে নিন যে আপনি এটিকে সঠিক নিয়ন্ত্রণে ফেলেছেন এবং তার পাশেরটি নয় (যেমন 2 টায়)।
মাইকেল সিলিটসন

40
  1. আপনার ফর্মটিতে একটি সরঞ্জামশালা উপাদান যুক্ত করুন
  2. আপনি যে কোনও নিয়ন্ত্রণের জন্য একটি সরঞ্জাম টিপ চান তা চয়ন করুন Select
  3. সম্পত্তি গ্রিড ( F4) খুলুন , তালিকায় আপনি "টুলটিপ অন টুলটিপ 1" (বা অনুরূপ কিছু) নামে একটি সম্পত্তি পাবেন। সেই সম্পত্তিটিতে কাঙ্ক্ষিত টুলটিপ পাঠ্য সেট করুন।
  4. অন্যান্য নিয়ন্ত্রণের জন্য 2-3 পুনরাবৃত্তি করুন
  5. সম্পন্ন.

কৌতুক এখানে টুলটিপ নিয়ন্ত্রণ একটি হল প্রসারক নিয়ন্ত্রণ , যার মানে এটি জন্য বৈশিষ্ট্যাবলী সেট বাড়িয়ে দেবে অন্যান্য কন্ট্রোলে ফর্মে। পর্দার আড়ালে স্ব্বেতলোজারের উত্তরের মতো কোড উত্পন্ন করে এটি অর্জন করা হয়। একই পদ্ধতিতে কাজ করার মতো অন্যান্য নিয়ন্ত্রণ রয়েছে (যেমন HelpProvider)।


1
তাই আপনি বিভিন্ন পাঠ্য সহ অনেকগুলি নিয়ন্ত্রণের জন্য একই সরঞ্জামটিপটি ব্যবহার করতে পারেন?
Svish

@ সুইশ: হ্যাঁ, এটি এক্সটেন্ডার নিয়ন্ত্রণের উদ্দেশ্য।
ফ্রেডরিক মার্ক

এটি কি ক্রস ব্যবহারকারী নিয়ন্ত্রণ এবং ফর্মগুলি ব্যবহার করা যেতে পারে? আপনি যদি নিজের স্ট্যান্ডার্ড সম্পত্তি মানগুলির সাথে একটি স্ট্যাটিক টুলটিপ তৈরি করেন তবে Like নাকি এটাকে খারাপ অভ্যাস বলে বিবেচনা করা হবে?
Svish

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

ঠিক আছে, আমি স্পষ্টতই এটি চেষ্টা করব। তবে আমি মেমোরি ফাঁস এবং এই জাতীয় জিনিসগুলি খুঁজে পেতে বিশেষত ভাল নই ... এবং যদি এটির কারণে মেমরি ফাঁস হয় বা আমি এরকম কিছু জানতে চাই, হেই।
Svish

8

সি # তে থাকা সরঞ্জামটিপ প্রায় সমস্ত ইউআই নিয়ন্ত্রণগুলিতে যুক্ত করা খুব সহজ। এর জন্য আপনার কোনও মাউসহোভার ইভেন্ট যুক্ত করার দরকার নেই।

এটি কিভাবে এটি করা যায়-

  1. আপনার ফর্মটিতে একটি সরঞ্জামচালিত বস্তু যুক্ত করুন। একটি ফর্ম পুরো ফর্মের জন্য যথেষ্ট। ToolTip toolTip = new ToolTip();

  2. পছন্দসই পাঠ্যের সাহায্যে সরঞ্জামটিপটিতে নিয়ন্ত্রণ যুক্ত করুন।

    toolTip.SetToolTip(Button1,"Click here");


1

আমি এটি এইভাবে করেছি: কেবল কোনও ইভেন্টে ইভেন্টটি যুক্ত করুন, নিয়ন্ত্রণের ট্যাগ সেট করুন এবং উপযুক্ত নিয়ন্ত্রণ / ট্যাগের জন্য টুলটিপটি পরিচালনা করার জন্য একটি শর্তসাপেক্ষ যুক্ত করুন।

private void Info_MouseHover(object sender, EventArgs e)
{
    Control senderObject = sender as Control;
    string hoveredControl = senderObject.Tag.ToString();

    // only instantiate a tooltip if the control's tag contains data
    if (hoveredControl != "")
    {
        ToolTip info = new ToolTip
        {
            AutomaticDelay = 500
        };

        string tooltipMessage = string.Empty;

        // add all conditionals here to modify message based on the tag 
        // of the hovered control
        if (hoveredControl == "save button")
        {
            tooltipMessage = "This button will save stuff.";
        }

        info.SetToolTip(senderObject, tooltipMessage);
    }
}

-3

কন্ট্রোলের টুলটিপটেক্সটনিড ইভেন্টে কেবল সাবস্ক্রাইব করুন, এবং ই.টুলটিপ টেক্সটটি ফিরিয়ে দিন, আরও সহজ।


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