-1

特定の条件が満たされたときに、Windows フォームから Web サイトへのリンクを動的に作成しようとしています (これは、オンライン マニュアルに詳細が記載された警告メッセージです)。

現在、この状況でLinkLabelを使用するのは非常に扱いにくいと感じています。単純なハイパーリンクのためにその場で LinkClicked ハンドラーを設定する必要があるのは、洗練されていないように思えます。

次の要件を満たすラッパーまたは代替品はありますか?:

  • System.Windows.Forms.Control から継承します (したがって、TableLayoutPanel で使用できます)。
  • かなり低い設定です (たとえば、奇妙な LinkClicked 関数の事前訪問チェックはありません)。
  • 特定のブラウザにバインドされていません
4

3 に答える 3

2

LinkClickedイベントハンドラの問題は何ですか? 有用なことを行うには、ほぼすべてのコントロールに対して同じことを行う必要があります。

とにかく、自分で実装するのは簡単です - LinkLabel から継承するクラスを作成し、文字列URLプロパティを追加し (そのように設定したい場合は、デザイナーのプロパティ パネルにこれを表示する属性が必要になる場合があります)、イベントを提供します。その URL でブラウザーを開くハンドラー。

次に、デザイナー (または実行時) にコントロールを追加し、URL プロパティを設定するだけで、イベント ハンドラーを設定しなくても機能します。

于 2011-07-01T15:12:24.757 に答える
1

LinkClicked代わりにイベントを使用しましたOnClickか?次に、これをイベントハンドラーで使用できます。

    (sender as LinkLabel).LinkVisited = true;
    System.Diagnostics.Process.Start("http://example.com");

特定のブラウザにバインドされていません-ユーザーのデフォルトブラウザで開きます。セットアップは低です。LinkLabelをインスタンス化し、イベントフックアップをLinkClicked(2行のメソッドの1つです)に追加して、ページに追加するだけです。このアプローチの扱いにくい点は何ですか?

于 2011-07-01T15:09:31.277 に答える
0

結局、私LinkLabel.Links.Addはリンク先を動的に変更するために使用しました。

于 2012-06-26T09:48:15.917 に答える