2

次の C# スニペットのように、LinkLabel コントロールを Windows フォームに追加し、2 つの異なるリンクを定義するとします。

LinkLabel ll = new LinkLabel();
Controls.Add(ll);
ll.Text = "Click here or here";
ll.Links.Add(6, 4, "http://example.one");
ll.Links.Add(14, 4, "http://example.two");

最終的に、フォームに「ここをクリックまたはここをクリック」というラベルが表示されます(そして、見た目も動作も同じです)。ただし、ユーザーはリンクのターゲットが何であるかを知らないため、マウスがいずれかの上に置かれたときに適切な URL を示すツールチップがポップアップ表示されるようにしたいと考えています。

私はプログラムで長い、テキストでラップされた LinkLabel を構築しているので、4 つのコントロールを「[Label:'Click'] [LinkLabel:'here'] [Label:'or'] [LinkLabel:'here']」として配置するだけです。異なる LinkLabels で個別に ToolTipText を割り当てる形式は適切なオプションではありません。

これを達成するための最良の方法は何ですか?または、LinkLabel 以外のものを使用する必要がありますか?

4

1 に答える 1

0

残念ながら、LinkLabel にはクリックされたリンクのイベント引数を持つ LinkClicked イベントがありますが、対応する LinkMouseHover/Enter イベントがないため、これは簡単ではないと思います。そのため、どのリンクに配置されているかを知る方法はありません。

おそらく唯一の解決策は、多くの LinkLabels を隣り合わせに作成し、各 LinkLabel で MouseHover を使用して、どのリンクが指されているかを知ることです。

于 2016-07-01T03:16:32.430 に答える