Zoeken…


Opmerkingen

U kunt op verschillende manieren hulp bieden voor Formulieren en besturingselementen in Windows Formulieren-toepassingen. U kunt een pop-uphulp weergeven, een CHM-bestand of een URL openen. U kunt contextgevoelige hulp weergeven voor formulieren, besturingselementen en dialoogvensters.

HelpProvider-component

U kunt een HelpProvider component instellen om contextgevoelige hulp voor component te bieden. Op deze manier kunt u, wanneer de gebruiker op de F1- toets of de Help-knop van het formulier drukt, automatisch:

  • Toon een contextgevoelig help-pop-upvenster voor besturingselementen
  • Open een CHM-bestand op basis van context (inhoudsopgave weergeven, een trefwoord of index weergeven, een onderwerp weergeven)
  • Navigeer naar een URL met de standaardbrowser

Help-klasse

U kunt de Help klasse in code gebruiken om dit soort hulp te bieden:

  • Toon een help-pop-up voor een besturingselement
  • Open een CHM-bestand op basis van context (inhoudsopgave weergeven, een trefwoord of index weergeven, een onderwerp weergeven)
  • Navigeer naar een URL met de standaardbrowser

HelpRequested Event

U kunt de gebeurtenis HelpRequested van Control of Form verwerken om aangepaste acties uit te voeren wanneer de gebruiker op F1 drukt of op de knop Help van het formulier klikt.

Help-knop van formulier

U kunt het Form zo instellen dat de Help-knop op de titelbalk wordt weergegeven. Op deze manier verandert de cursor in een ? Als de gebruiker op de knop Help klikt ? cursor en na een klik op een willekeurig punt, zal alle contextgevoelige help geassocieerd met het besturingselement met behulp van HelpProvider worden getoond.

Help-knop van MessgeBox en CommonDialogs

U kunt hulp bieden voor MessageBox , OpenFileDialog , SaveDialog en ColorDialog met behulp van de Help-knop van de componenten.

ToolTip-component

U kunt de ToolTip component gebruiken om wat helptekst weer te geven wanneer de gebruiker naar bedieningselementen wijst. Een ToolTip kan aan elk besturingselement worden gekoppeld.

Notitie

HelpProvider en Help klasse gebruiken U kunt gecompileerde Help-bestanden (.chm) of HTML-bestanden weergeven in de HTML Help-indeling. Gecompileerde Help-bestanden bieden een inhoudsopgave, een index, zoekmogelijkheden en trefwoordkoppelingen op pagina's. Snelkoppelingen werken alleen in gecompileerde Help-bestanden. U kunt HTML Help 1.x-bestanden genereren met behulp van HTML Help Workshop. Zie "HTML Help Workshop" en andere HTML Help-onderwerpen op Microsoft HTML Help voor meer informatie over HTML Help .

Help-bestand weergeven

De Help Class omvat de HTML Help 1.0-engine. U kunt het Help-object gebruiken om gecompileerde Help-bestanden (.chm) of HTML-bestanden in de HTML Help-indeling weer te geven. Gecompileerde Help-bestanden bieden inhoudsopgave-, index-, zoek- en trefwoordkoppelingen op pagina's. Snelkoppelingen werken alleen in gecompileerde Help-bestanden. U kunt HTML Help 1.x-bestanden genereren met een gratis hulpprogramma van Microsft genaamd HTML Help Workshop .

Een eenvoudige manier om een gecompileerd helpbestand in een tweede venster weer te geven:

C #

Help.ShowHelp(this, helpProviderMain.HelpNamespace);

VB.NET

Help.ShowHelp(Me, hlpProviderMain.HelpNamespace)

Help weergeven voor MessageBox

U kunt op verschillende manieren hulp bieden voor de berichtenbox. U kunt een MessageBox configureren om een Help knop weer te geven of niet. U kunt MessageBox ook zo configureren dat wanneer de gebruiker om hulp vraagt door op Help te klikken of door op F1 te drukken, het een CHM-bestand toont of naar een URL navigeert of een aangepaste actie uitvoert. Hier zijn enkele voorbeelden in dit onderwerp.

In alle onderstaande voorbeelden ziet de MessageBox er als volgt uit:

MessageBox met Help-knop

Een CHM-bestand weergeven en naar een trefwoord navigeren (index)

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

Toon een CHM-bestand en navigeer naar een onderwerp

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

Toon een CHM-bestand en navigeer door de eerste hulppagina in de inhoudsopgave

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

Open de standaardbrowser en navigeer naar een URL

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

Voer aangepaste actie uit wanneer u op de Help-knop of F1-toets drukt

In dit geval moet HelpRequested gebeurtenis HelpRequested van bovenliggend HelpRequested van MessageBox afhandelen en een aangepaste bewerking uitvoeren:

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

Vervolgens kunt u de MessageBox met de knop Help:

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

Of toon het zonder Help-knop:

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

Help weergeven voor CommonDialogs

U kunt hulp bieden voor OpenFileDialog , SaveFileDialog en ColorDialog . Stel ShowHelp eigenschap ShowHelp van dialoogvenster in op true en behandel de HelpRequest gebeurtenis voor dialoog:

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

Notitie

  • Het evenement wordt alleen verhoogd als u ShowHelp op true .
  • Het evenement zal alleen worden verhoogd door op de Help knop te klikken en zal niet worden verhoogd met de F1-toets.

In de onderstaande afbeelding ziet u een OpenFileDialog met een Help-knop:

Open het bestandsdialoogvenster met de Help-knop

Help verwerkenGevraagde gebeurtenis van besturingselementen en formulier

Wanneer een gebruiker op F1 drukt op een besturingselement of op Help-knop van formulier ( ? ) Klikt en vervolgens op een besturingselement klikt, wordt de HelpRequested gebeurtenis HelpRequested .

U kunt deze gebeurtenis verwerken om aangepaste actie te bieden wanneer de gebruiker om hulp voor besturingselementen of formulier vraagt.

De HelpRequested ondersteunt het HelpRequested . Het vuurt voor uw actieve controle en als u de gebeurtenis niet afhandelt en de eigenschap Handled van zijn gebeurtenis arg niet op true instelt, dan borrelt het naar de bovenliggende besturingshiërarchie om te vormen.

Als u bijvoorbeeld een HelpRequested gebeurtenis van het onderstaande formulier afhandelt, HelpRequested een berichtvenster met de naam van het actieve besturingselement wanneer u op F1 drukt, maar voor textBox1 wordt een ander bericht weergegeven:

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");
}

U kunt andere aangepaste acties uitvoeren, zoals navigeren naar een URL of een CHM-bestand weergeven met behulp van de Help klasse.

Help weergeven met behulp van Help-klasse

U kunt de Help klasse in code gebruiken om dit soort hulp te bieden:

  • Toon een help-pop-up voor een besturingselement
  • Open een CHM-bestand op basis van context (inhoudsopgave weergeven, een trefwoord of index weergeven, een onderwerp weergeven)
  • Navigeer naar een URL met de standaardbrowser

Pop-upvenster Help weergeven

U kunt Help.ShowPopup gebruiken om een pop-upvenster voor hulp Help.ShowPopup te geven:

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));
}

Het zal een dergelijke hulppop-up laten zien op de locatie van uw muisaanwijzer:

voer hier de afbeeldingsbeschrijving in

Help-bestand van CHM weergeven

U kunt verschillende overloads van de Help.ShowHelp methode gebruiken om een CHM-bestand weer te geven en naar een trefwoord, een onderwerp, een index of een inhoudsopgave te navigeren:

Help-inhoudsopgave weergeven

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

Help weergeven voor specifiek trefwoord (index)

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

Help weergeven voor een specifiek onderwerp

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

URL weergeven

U kunt elke URL in de standaardbrowser weergeven met behulp van de ShowHelp methode:

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

Help-knop weergeven op titelbalk van formulier

U kunt een Help-knop weergeven op de titelbalk van een Form . Om dit te doen, moet u:

  1. Stel de eigenschap HelpButton van formulier in op true .
  2. Stel MinimizeBox en MaximizeBox op false .

Vervolgens verschijnt een Help-knop op de titelbalk van Form :

voer hier de afbeeldingsbeschrijving in

Ook als u op Help klikt, wordt de cursor gewijzigd in een ? cursor:

voer hier de afbeeldingsbeschrijving in

Als u vervolgens op een Control of Form klikt, wordt de gebeurtenis HelpRequested en ook als u een HelpProvider hebt ingesteld, wordt de hulp voor het besturingselement weergegeven met behulp van HelpProvider .

Maak een aangepaste Help-knop die fungeert als standaard Form HelpButton

Als u een Form met MinimizeBox en MaximizeBox ingesteld op true , kunt u de Help-knop niet op de titelbalk van Form en verliest u de functie van klikken op Help-knop om te converteren naar cursor om te kunnen klikken op besturingselementen om hulp laten zien.

U kunt een menu-item op MenuStrip als een standaard Help-knop laten werken. Om dit te doen, voegt u een MenuStrip aan het formulier en voegt u er een ToolStripMenuItem aan toe, en behandelt Click vervolgens Click gebeurtenis van het item:

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);
}

Opmerking: als u dit met een Button wilt doen, moet u ook button1.Capture = false; instellen button1.Capture = false; voordat u het bericht verzendt. Maar het is niet nodig voor een ToolStripMenuItem .

Wanneer u vervolgens op het helpmenu klikt, wordt de cursor gewijzigd in ? cursor en werkt als wanneer u op de standaard Help-knop klikt:

Aangepaste Help-knop

Omgaan met HelpButton Geklikte gebeurtenis van formulier

U kunt detecteren wanneer een gebruiker op een HelpButton op de titelbalk van het formulier heeft HelpButtonClicked door HelpButtonClicked . Je kunt de gebeurtenis laten doorgaan of annuleren door eigenschap Cancel van de gebeurtenis args in te stellen op 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow