カスタムリッチエディットコントロールのリンクにマウスを合わせると、ツールチップが表示されます。次のテキストを検討してください。
私たちは皆夜寝ます。
私の場合、睡眠という言葉はリンクです。
ユーザーがリンクの下(この場合は「スリープ」)でマウスを動かすと、リンクのツールチップが表示されます。
次のことが頭に浮かびましたが、機能していません
1)OnMouseHoverをトラップする
if(this.Cursor == Cursors.Hand)
tooltip.Show(textbox,"My tooltip");
else
tooltip.Hide(textbox);
しかし、これはうまくいきません。
アップデート
記載されているリンクはURLではありません。つまり、これらはカスタムリンクであるため、正規表現はここではあまり役に立ちません。任意のテキストにすることができます。ユーザーはそれをリンクとして作成することを選択できます。
方法は試していませんがGetPosition
、デザインやメンテナンスの面でそれほどエレガントではないと思います。
リッチエディットボックスに次の行があるとしましょう
私たちは夜寝ます。しかし、コウモリは目を覚まし続けます。ゴキブリは夜に活発になります。
上記の文では、マウスを上に置いたときに3つの異なるツールチップが必要です。
sleep -> Human beings
awake -> Nightwatchman here
active -> My day begins
私は次のようにトラップOnMouseMove
しました:
メッセージボックスの操作
OnMouseMove( )
{
// check to see if the cursor is over a link
// though this is not the correct approach, I am worried why does not a tooltip show up
if(this.Cursor.current == Cursors.hand )
{
Messagebox.show("you are under a link");
}
}
動作しない-ツールチップを使用する-ツールチップが表示されない
OnMouseMove( MouseventArgs e )
{
if(cursor.current == cursors.hand )
{
tooltip.show(richeditbox,e.x,e.y,1000);
}
}