Moin Moin,
da ich hier schon oft Hilfe gefunden habe:
Ich hatte das Problem eine Hilfe für meine Programme zu erstellen. Die Hilfe von MS war mir zu kompliziert. Da ich sowieso eine Internetseite habe: wiki.th-petersen.de und dort ein wiki auf Basis http://www.dokuwiki.org laufen habe kam die Idee diese als Hilfesystem zu benutzen. Kleiner Nebeneffect das Hilfesystem wächst von alleine...
Die Funktion HelpRequested wird aufgerufen bei Druck auf F1. Abhängig von der Mausposition wird nun festgestellt welches control sich dort befindet und anhand der manuell gestezten .Tag Eigenschaft der Controls ein link zusammengebastelt.
Viel Spaß damit...
#Region "Hilfe Einbindung"
Private Sub HilfeImInternetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HilfeImInternetToolStripMenuItem.Click
Dim oAdresse As String
oAdresse = oHilfeAdresse + "iv_eigenschaften:iv_eigenschaften" '" + My.Application.Info.ProductName.ToLower
System.Diagnostics.Process.Start(oAdresse) '"http://127.0.0.1/wiki-programme/doku.php?id=petivautoparameter
etivautoparameter")
End Sub
Private Sub Eigenschaftenfenster_HelpRequested(ByVal sender As Object, ByVal hlpevent As System.Windows.Forms.HelpEventArgs) Handles Me.HelpRequested
Dim oAdresse As String
oAdresse = oHilfeAdresse + "iv_eigenschaften:" '+ My.Application.Info.ProductName.ToLower + ":" '+ My.Application.Info.ProductName.ToLower
Dim oGPt As New Point(sender.MousePosition.X, sender.MousePosition.Y)
Dim oLPt As Point
oLPt = Me.PointToClient(oGPt)
Dim oControl As Control
oControl = Me.GetChildAtPoint(oLPt, GetChildAtPointSkip.Transparent)
If oControl Is Nothing Then
oAdresse = oHilfeAdresse + "iv_eigenschaften:iv_eigenschaften"
Else
Select Case oControl.Name
Case "SplitContainer2"
oLPt = SplitContainer2.PointToClient(oGPt)
oAdresse = oAdresse + SplitContainer2.GetChildAtPoint(oLPt).Tag.ToString
Case "MenuStrip1"
Dim oMSItem As System.Windows.Forms.ToolStripMenuItem
oMSItem = MenuStrip1.GetItemAt(oLPt.X, oLPt.Y)
oAdresse = oAdresse + oMSItem.Tag.ToString
Case Else
oAdresse = oAdresse + Me.GetChildAtPoint(oLPt).Tag.ToString
End Select
End If
System.Diagnostics.Process.Start(oAdresse)
End Sub
#End Region
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP