2010-02-24 59 views
0

如何爲.Net應用程序提供F1幫助支持。.NET爲大型應用程序提供F1幫助

該應用程序包含多個表單與許多領域。所以我不想在每個窗體上放置HelpProvider控件並設置屬性。 請告訴我任何可以處理這個問題的組件。

+0

添加標籤'winforms' – Vlad 2010-02-24 12:20:35

回答

2

我想你可以實現一個繼承Form的類並添加一個HelpProvider,然後從該類繼承你的表單。這樣一來,你只需要設置的屬性

表 - > AppFormBase - > ConcreteForm

Public Class AppFormBase 
    Inherits Form ' Your original base class 

    Public Sub New() 
    ' Add HelpProvider to Me.Controls 
    End Sub 
End Class 

Public Class MyActualForm ' Your original form. 
    Inherits AppFormBase 

End Class 
+0

可以給我一些例子....我使用SCSF框架爲我的應用程序。 – Mohsan 2010-02-24 13:48:31

+1

對不起,我不知道這個框架。如果你看看你的表格目前是從哪裏繼承的,那麼你可以把它改成你自己的一個類,它繼承自表單的原始基類。 添加回答的示例。 – 2010-02-25 08:19:09

0

對於WPF,你可以做到以下幾點:

CommandBinding HelpBinding = new CommandBinding(
      ApplicationCommands.Help, 
      ShowHelpHandler, 
      CanShowHelpHandler); 
CommandManager.RegisterClassCommandBinding(typeof(Window), HelpBinding); 

其中ShowHelpHandlerCanShowHelpHandler被聲明爲

static void ShowHelpHandler(object sender, ExecutedRoutedEventArgs e) 
{ 
    ... 
} 
static void CanShowHelpHandler(object sender, CanExecuteRoutedEventArgs e) 
{ 
    ... 
} 

這將註冊的所有窗口勢必F1幫助命令。

+0

我想在winform – Mohsan 2010-02-24 12:15:35

+0

@Mohsan使用:對不起,沒有經驗與WinForms;請等待其他答案。 – Vlad 2010-02-24 12:19:33