खोज…


टिप्पणियों

आप अलग-अलग तरीकों से विंडोज फॉर्म एप्लीकेशन में फॉर्म और कंट्रोल के लिए मदद दे सकते हैं। आप एक पॉप-अप मदद दिखा सकते हैं, एक सीएचएम फ़ाइल या एक यूआरएल खोल सकते हैं। आप प्रपत्र, नियंत्रण और संवाद के लिए संदर्भ-संवेदनशील मदद दिखा सकते हैं।

HelpProvider घटक

आप घटक के लिए संदर्भ संवेदनशील मदद प्रदान करने के लिए एक HelpProvider घटक सेटअप कर सकते हैं। इस तरह जब उपयोगकर्ता F1 कुंजी या फ़ार्म की मदद बटन दबाता है, तो आप स्वचालित रूप से कर सकते हैं:

  • नियंत्रण के लिए पॉप-अप संवेदनशील संदर्भ दिखाएं
  • संदर्भ के आधार पर CHM फ़ाइल खोलें (सामग्री की तालिका दिखाएं, कोई कीवर्ड या इंडेक्स दिखाएं, कोई विषय दिखाएं)
  • डिफ़ॉल्ट ब्राउज़र का उपयोग करके URL पर नेविगेट करें

सहायता वर्ग

इस प्रकार की सहायता प्रदान करने के लिए आप कोड में Help वर्ग का उपयोग कर सकते हैं:

  • नियंत्रण के लिए पॉप-अप की मदद लें
  • संदर्भ के आधार पर CHM फ़ाइल खोलें (सामग्री की तालिका दिखाएं, कोई कीवर्ड या इंडेक्स दिखाएं, कोई विषय दिखाएं)
  • डिफ़ॉल्ट ब्राउज़र का उपयोग करके URL पर नेविगेट करें

हेल्पलेस असिस्टेड इवेंट

जब उपयोगकर्ता एफ 1 दबाते हैं या प्रपत्र के हेल्प बटन पर क्लिक करते हैं तो आप कस्टम क्रिया करने के लिए Control ऑब्जेक्ट्स या Form की HelpRequested इवेंट को हैंडल कर सकते हैं।

फॉर्म का मदद बटन

आप टाइटल-बार पर हेल्प बटन दिखाने के लिए Form सेटअप कर सकते हैं। इस तरह, यदि उपयोगकर्ता हेल्प बटन पर क्लिक करता है, तो कर्सर बदल जाएगा ? कर्सर और किसी भी बिंदु पर क्लिक करने के बाद, HelpProvider का उपयोग करके नियंत्रण से जुड़ी कोई भी संदर्भ-संवेदनशील मदद दिखाई जाएगी।

मेसगबॉक्स और कॉमनडायलॉग्स की मदद बटन

आप घटकों की सहायता बटन का उपयोग करके MessageBox , OpenFileDialog , SaveDialog और ColorDialog लिए मदद प्रदान कर सकते हैं।

टूलटिप घटक

जब उपयोगकर्ता नियंत्रण पर कुछ मदद पाठ प्रदर्शित करने के लिए ToolTip घटक का उपयोग कर सकते हैं। ToolTip को किसी भी नियंत्रण के साथ जोड़ा जा सकता है।

ध्यान दें

HelpProvider और Help class का उपयोग करके आप HTML मदद प्रारूप में संकलित सहायता फाइलें (.chm) या HTML फाइलें दिखा सकते हैं। संकलित सहायता फाइलें पृष्ठों में सामग्री, एक सूचकांक, खोज क्षमता और कीवर्ड लिंक की एक तालिका प्रदान करती हैं। शॉर्टकट केवल संकलित सहायता फ़ाइलों में काम करते हैं। आप HTML हेल्प वर्कशॉप का उपयोग करके HTML हेल्प 1.x फाइल्स जेनरेट कर सकते हैं। HTML मदद के बारे में अधिक जानकारी के लिए, "HTML सहायता कार्यशाला" और अन्य HTML मदद विषय Microsoft HTML मदद देखें

मदद फ़ाइल दिखाएँ

Help Class HTML हेल्प 1.0 इंजन को इनकैप्सुलेट करता है। आप HTML मदद स्वरूप में संकलित सहायता फ़ाइलों (.chm) या HTML फ़ाइलों को दिखाने के लिए मदद ऑब्जेक्ट का उपयोग कर सकते हैं। संकलित सहायता फ़ाइलें पृष्ठों में सामग्री, सूचकांक, खोज और कीवर्ड लिंक की तालिका प्रदान करती हैं। शॉर्टकट केवल संकलित सहायता फ़ाइलों में काम करते हैं। आप HTML Help Workshop नामक माइक्रोसॉफ़्ट के मुफ्त टूल से HTML हेल्प 1.x फाइल्स जेनरेट कर सकते हैं।

दूसरी विंडो में संकलित सहायता फ़ाइल दिखाने का आसान तरीका:

सी#

Help.ShowHelp(this, helpProviderMain.HelpNamespace);

VB.NET

Help.ShowHelp(Me, hlpProviderMain.HelpNamespace)

MessageBox के लिए मदद दिखाएँ

आप संदेश बॉक्स के लिए विभिन्न तरीकों से सहायता प्रदान कर सकते हैं। आप एक Help बटन या नहीं दिखाने के लिए एक MessageBox कॉन्फ़िगर कर सकते हैं। साथ ही आप MessageBox को इस तरह से कॉन्फ़िगर कर सकते हैं कि जब उपयोगकर्ता मदद बटन पर क्लिक करके या एफ 1 दबाकर मदद के लिए अनुरोध करता है, तो यह सीएचएम फ़ाइल दिखा सकता है या URL पर नेविगेट कर सकता है या एक कस्टम क्रिया कर सकता है। इस विषय में कुछ उदाहरण इस प्रकार हैं।

सभी निम्न उदाहरणों में, MessageBox बॉक्स इस तरह होगा:

संदेश बटन मदद बटन के साथ

CHM फ़ाइल दिखाएं और एक कीवर्ड (इंडेक्स) पर नेविगेट करें

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm", HelpNavigator.KeywordIndex, "SomeKeyword");

सीएचएम फ़ाइल दिखाएं और किसी विषय पर नेविगेट करें

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm", HelpNavigator.Topic, "/SomePath/SomePage.html");

सीएचएम फ़ाइल दिखाएं और सामग्री की तालिका में पहला सहायता पृष्ठ नेविगेट करें

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm");

डिफ़ॉल्ट ब्राउज़र खोलें और URL पर नेविगेट करें

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "http://example.com");

मदद बटन या F1 कुंजी दबाने पर कस्टम क्रिया करें

इस स्थिति में आपको MessageBox के माता-पिता की HelpRequested घटना को संभालना चाहिए और कस्टम ऑपरेशन करना चाहिए:

private void Form1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    // Perform custom action, for example show a custom help form
    var f = new Form();  
    f.ShowDialog();
}

तब आप मदद बटन के साथ MessageBox दिखा सकते हैं:

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0, true);

या सहायता बटन के बिना इसे दिखाएं:

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0, false);

राष्ट्रमंडल के लिए सहायता दिखाएँ

आप OpenFileDialog , SaveFileDialog और ColorDialog लिए सहायता प्रदान कर सकते हैं। true लिए डायलॉग की ShowHelp प्रॉपर्टी को सेट करने के लिए और डायलॉग के लिए HelpRequest इवेंट को हैंडल करें:

void openFileDialog1_HelpRequest(object sender, EventArgs e)
{
    //Perform custom action
    Help.ShowHelp(this, "Http://example.com");
}

ध्यान दें

  • यदि आप ShowHelp को true सेट ShowHelp तो ईवेंट केवल तभी उठाया जाएगा।
  • ईवेंट केवल Help बटन पर क्लिक करके उठाया जाएगा और F1 कुंजी का उपयोग करके नहीं बढ़ाएगा।

नीचे दी गई छवि में आप एक मदद बटन के साथ एक OpenFileDialog देख सकते हैं:

ओपन बटन डायलॉग विथ हेल्प बटन

नियंत्रण और प्रपत्र की मदद से असम्बद्ध घटना को संभालना

जब कोई उपयोगकर्ता नियंत्रण पर F1 दबाता है या प्रपत्र ( ? ) के हेल्प बटन पर क्लिक करता है और फिर एक नियंत्रण पर क्लिक करता है तो HelpRequested ईवेंट को उठाया जाएगा।

जब उपयोगकर्ता नियंत्रण या प्रपत्र के लिए मदद का अनुरोध करते हैं, तो आप कस्टम एक्शन प्रदान करने के लिए इस घटना को संभाल सकते हैं।

HelpRequested बबल अप तंत्र का समर्थन HelpRequested है। यह आपके सक्रिय नियंत्रण के लिए आग उगलता है और यदि आप इस घटना को नहीं संभालते हैं और इसके आयोजन की Handled संपत्ति को true , तो यह मूल नियंत्रण पदानुक्रम तक बन जाता है।

उदाहरण के लिए यदि आप नीचे दिए गए फॉर्म की HelpRequested घटना को संभालते हैं, तो जब आप F1 दबाते हैं तो एक संदेश बॉक्स पॉप अप होगा और सक्रिय नियंत्रण का नाम दिखाएगा, लेकिन textBox1 यह एक अलग संदेश दिखाएगा:

private void Form1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    var c = this.ActiveControl;
    if(c!=null)
        MessageBox.Show(c.Name);
}
private void textBox1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    hlpevent.Handled = true;
    MessageBox.Show("Help request handled and will not bubble up");
}

आप किसी अन्य कस्टम क्रिया को कर सकते हैं जैसे URL में नेविगेट करना या Help वर्ग का उपयोग करके CHM फ़ाइल दिखाना।

हेल्प क्लास का उपयोग करके मदद दिखाएं

इस प्रकार की सहायता प्रदान करने के लिए आप कोड में Help वर्ग का उपयोग कर सकते हैं:

  • नियंत्रण के लिए पॉप-अप की मदद लें
  • संदर्भ के आधार पर CHM फ़ाइल खोलें (सामग्री की तालिका दिखाएं, कोई कीवर्ड या इंडेक्स दिखाएं, कोई विषय दिखाएं)
  • डिफ़ॉल्ट ब्राउज़र का उपयोग करके URL पर नेविगेट करें

पॉप-अप विंडो में मदद दिखाएँ

मदद पॉप-अप विंडो प्रदर्शित करने के लिए आप Help.ShowPopup का उपयोग कर सकते हैं:

private void control_MouseClick(object sender, MouseEventArgs e)
{
    var c = (Control)sender;
    var help = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
               "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
    if (c != null)
        Help.ShowPopup(c, "Lorem ipsum dolor sit amet.", c.PointToScreen(e.Location));
}

यह आपके माउस पॉइंटर स्थान पर पॉप-अप की मदद करेगा:

यहाँ छवि विवरण दर्ज करें

CHM हेल्प फ़ाइल दिखाएं

आप Help.ShowHelp पद्धति के विभिन्न अधिभार का उपयोग कर सकते हैं, Help.ShowHelp फ़ाइल दिखाने के लिए और एक कीवर्ड, एक विषय, सूचकांक या सामग्री की तालिका पर नेविगेट करने के लिए:

सामग्री की मदद तालिका दिखाएं

Help.ShowHelp(this, "Help.chm"); 

विशिष्ट कीवर्ड (इंडेक्स) के लिए सहायता दिखाएं

Help.ShowHelp(this, "Help.chm", HelpNavigator.Index, "SomeKeyword");

विशिष्ट विषय के लिए सहायता दिखाएं

Help.ShowHelp(this, "Help.chm", HelpNavigator.Topic, "/SomePath/SomePage.html");

Url दिखाओ

आप ShowHelp विधि का उपयोग करके डिफ़ॉल्ट ब्राउज़र में कोई भी URL दिखा सकते हैं:

Help.ShowHelp(this, "Http://example.com");

प्रपत्र के शीर्षक पट्टी पर सहायता बटन दिखाएं

आप Form शीर्षक-बार में एक सहायता बटन दिखा सकते हैं। ऐसा करने के लिए, आपको चाहिए:

  1. HelpButton के फॉर्म की संपत्ति को true सेट करें।
  2. false MinimizeBox और MaximizeBox सेट MinimizeBox

तब Form शीर्षक-बार पर एक सहायता बटन दिखाई देगा:

यहाँ छवि विवरण दर्ज करें

जब आप मदद बटन पर क्लिक करते हैं, तो कर्सर को ए में बदल दिया जाएगा ? कर्सर:

यहाँ छवि विवरण दर्ज करें

फिर यदि आप किसी Control या Form पर क्लिक करते हैं, तो HelpRequested ईवेंट को उठाया जाएगा और यदि आपके पास एक HelpProvider सेटअप है, तो HelpProvider का उपयोग करके नियंत्रण के लिए सहायता दिखाई HelpProvider

कस्टम हेल्प बटन बनाएँ जो मानक फॉर्म हेल्पबटन की तरह काम करता है

यदि आपके पास MinimizeBox साथ एक Form और MaximizeBox true सेट true , तो आप Form शीर्षक-बार पर सहायता बटन नहीं दिखा सकते हैं और कर्सर पर नियंत्रण में क्लिक करने में सक्षम होने के लिए इसे बदलने में मदद बटन पर क्लिक करने की सुविधा खो देंगे। मदद दिखाएँ।

आप MenuStrip पर एक मेनू आइटम बना सकते हैं जैसे मानक सहायता बटन। ऐसा करने के लिए, एक MenuStrip को फ़ॉर्म में जोड़ें और एक ToolStripMenuItem को इसमें जोड़ें, फिर आइटम के इवेंट पर Click :

private const int WM_SYSCOMMAND = 0x0112;
private const int SC_CONTEXTHELP = 0xF180;
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
    SendMessage(this.Handle, WM_SYSCOMMAND, SC_CONTEXTHELP, 0);
}

नोट: यदि आप एक Button का उपयोग करना चाहते हैं, तो आपको भी Button सेट button1.Capture = false; संदेश भेजने से पहले। लेकिन यह एक ToolStripMenuItem लिए आवश्यक नहीं है।

फिर जब आप सहायता मेनू पर क्लिक करेंगे, तो कर्सर को बदल दिया जाएगा ? जब आप मानक सहायता बटन पर क्लिक करेंगे तो कर्सर और कार्य करेगा:

कस्टम सहायता बटन

हेल्पबूटन को संभालना फॉर्म की घटना है

जब कोई उपयोगकर्ता किसी पर क्लिक किया आप पता लगा सकते हैं HelpButton पर से निपटने के द्वारा प्रपत्र का शीर्षक-बार HelpButtonClicked । आप घटना जारी रखने या सेटिंग से इसे रद्द कर सकते हैं Cancel इसकी घटना args की संपत्ति को true

private void Form1_HelpButtonClicked(object sender, CancelEventArgs e)
{
    e.Cancel = true;
    //Perform some custom action
    MessageBox.Show("Some Custom Help");
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow