2016-04-14 30 views
-1

ユーザーが「?」ボタンを押したときにテキストを表示する小さなヘルプポップアップがあります。ドロップダウンの横にあるラベルをクリックして、さまざまな選択肢について説明します。C#Winformsヘルプテキスト変更フォント

これは、一番簡単だったので、Help.ShowPopupコマンドを使用して行っています。

CHM/HTMLヘルプファイルの指示に従わなくても、テキストの一部または少なくとも全部に異なるフォントプロパティを追加する方法があることを期待していました。ここで

は私がしようとしているものです:

private void helpLbl_Click(object sender, EventArgs e) 
{ 
    // for some reason, it ignores the 'parent' parameter 
    // and lays it out on the screen's coordinates 
    Point helpLocation = helpLbl.PointToScreen(Point.Empty); 
    helpLocation.Y += helpLbl.Height; // have it display underneath the control 

    Help.ShowPopup(this, // hosting form 
@"<b>Fixed:</b> 
Removes a fixed amount from the sale 
<b>Percent Value:</b> 
Removes a set percentage of the selected package from the sale 
...", helpLocation); 

私はヘルプを表示するには、HTMLドキュメントを使用するオプションがありますから、私が表示されていたものをフォーマットするためのHTMLタグを使うことができ期待していたが、それはそうではありません。何か案は?

ヘルプポップアップにRichTextBoxを表示する方法はありますか?

また、HTML文書をオンザフライで生成する可能性がありますが、テキストを直接入力していない場合は「url」を要求し、少量のIここでやろうとしている。

+1

あなた自身のヘルプボックスを書くのはなぜですか?コントロールやフォームをポップアップするのは難しくなく、RTBを含むあなたのニーズに合わせて設計することができます。 – TaW

+0

私は、組み込みの機能を使用して、人々がOS全体で期待するものと同じに見えるようにしたいと考えていましたバージョンとユーザー設定とそのすべて。 QAが求めていた小さな機能でした。 ps:壁画のおかげで、申し訳ありません。 –

答えて

1

2つのオプションがあります。 1つはWebBrowser Controlです。これはネイティブにHTMLを受け入れて表示します。その問題は、シンプルなラベルとして使用するだけの膨大な種類のものです。

あなたの2番目のオプションは、単にこのように、単にRichTextLabelを作成することです:

public class RichTextLabel : RichTextBox 
{ 
    public RichTextLabel() 
    { 
     BorderStyle = BorderStyle.None; 
    } 
} 

は、フォームにこれを追加し、RTFコードにRtfプロパティを設定します。 HTMLをRTFに変換する必要があります。たとえば、Microsoft Wordなどのプログラムがあれば簡単です。

関連する問題