1

ツリービューの各アイテムとリストビューの各アイテムにツールチップを表示し、リストビューのサブアイテム (つまり列) ごとに異なるツールチップが必要です。

表示するテキストを決定できます (現在のマウス位置でのヒット テストなどを使用):

private void toolTip1_Popup(object sender, PopupEventArgs e)
{
   if (e.AssociatedControl == listView1)
   {
      toolTip1.SetToolTip(listView1, "foo");
   }
}

ただし、ツールチップ テキストを設定しようとすると、stackoverflowが発生します。

表示される直前にツールチップ (アイコン、タイトル、テキスト) をカスタマイズするにはどうすればよいですか?

4

1 に答える 1

2

Popupイベント ハンドラー内のコードを保護して、そのSetToolTip内部から呼び出している場合に再度呼び出さないようにする必要がありますSetToolTip

何かのようなもの:

private bool updatingTooltip;
private void toolTip1_Popup(object sender, PopupEventArgs e)
{   
    if (!this.updatingTooltip && (e.AssociatedControl == listView1))
    {
        this.updatingTooltip = true;
        toolTip1.SetToolTip(listView1, "foo");
        this.updatingTooltip = false;
    }
}
于 2008-10-21T19:51:02.677 に答える