1

私の Windows フォーム プログラムには、私の Web サイトにリンクする 2 つのリンク ラベルがあります。下線と醜い青色を取り除き、それらを少し修正しようとしました. しかし、最大の問題はまだ残っており、私にとってはとても不安で、理由がわかりません.

それらの上にカーソルを置いたときのハンド カーソルは、古い Windows 98 ハンド/リンク カーソルです。システムカーソルに変更する方法はありますか? この問題について他のリンクをいくつか確認しましたが、うまくいかなかったので、ここで質問することにしました。

下線を取り除くコードは次のとおりです。linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline;

4

3 に答える 3

2

残念ながら、LinkLabel クラスは Cursors.Hand をホバー カーソルとして使用するようにハードコードされています。

ただし、次のようなクラスをプロジェクトに追加することで回避できます。

public class MyLinkLabel : LinkLabel
{
    protected override void OnMouseEnter(EventArgs e)
    {
        base.OnMouseEnter(e);
        OverrideCursor = Cursors.Cross;
    }

    protected override void OnMouseLeave(EventArgs e)
    {
        base.OnMouseLeave(e);
        OverrideCursor = null;
    }

    protected override void OnMouseMove(MouseEventArgs e)
    {
        base.OnMouseMove(e);
        OverrideCursor = Cursors.Cross;
    }
}

フォームで LinkLabel の代わりにそれを使用します。(これにより、テスト目的でカーソルが十字に設定されますが、必要に応じて変更できます。)

実際の LinkLabel コードには、リンクが有効かどうかに応じてカーソルを変更するためのより複雑なロジックがあると言わざるを得ませんが、それは気にしないかもしれません。

于 2013-11-26T13:31:32.980 に答える