私は、あなたがPictureBox上にホバリングしているものに応じて変化するテキストでツールチップを作ろうとしています。これは動作しますが、これに伴う問題は、あなたが絵の上に置くと、それは常にツールヒントのちらつきを作るので、私からそれを防ぐために、そのように変更された(混乱を避けるために単純化)ToolTipは、PictureBoxのマウスの動きに反応します。
private ToolTip tt;
private void Picture_MouseMove(object sender, MouseEventArgs e)
{
string rollText =
<code to determine what text should display based on mouse coordinates>
tt.SetToolTip(Picture, rollText);
}
:私のコードは次のようなものです必要なときにはない再描画:
private string oldRollText = "";
private ToolTip tt;
private void Picture_MouseMove(object sender, MouseEventArgs e)
{
string rollText =
<code to determine what text should display based on mouse coordinates>
if (rollText != oldRollText)
{
oldRollText = rollText;
tt.SetToolTip(Picture, rollText);
}
}
しかし、あなたがロールアウトして再度ロールまで今それが唯一の一瞬のために表示され、それ以上のときに第1ロールを消え、二度と。私はShowAlways = true
を設定しようとしましたが、の数字の3つすべてが0、Active = true
、UseFading = false
、UseAnimation = false
というアニメーションの最初のフレームを何度も再生していた場合に備えて、試しました。サイコロはありません。私は何が欠けているすべてのアイデア?
oldRolltext変数も必要ですか?あなたは単に比較のためにツールチップの現在のテキストにアクセスできませんか?また、ロールプレイングの設定方法を簡略化した例を見ると役立ちます。 – Jared
'tt.GetToolTip(Picture)'を使って、同じ結果を試しました。ロールテキストを設定するコードがどのように役立つかは分かりませんが、少し長いので、いくつかのクラスが関わっています。私はちょうど言うでしょう、それはマウスがどこにあるのか、そしてそれらの座標の下にあるものが何であるかを特定し、それに応じて設定します。ツールヒントには触れられず、そのブロックの内容は変更されません。私が実際にツールチップ自体をどのように処理しているかを知るのに役立つかもしれません。私はここで使用しているコードを投稿しました:[http://stackoverflow.com/questions/1165540/how-do-i-remove-a-tooltip-currently-bound-to-a-control/10465827#10465827] –