どのように私は、仮想モードでのDataGridViewで使用されるツールチップをフォーマットしますか?
-
20-08-2019 - |
質問
私は書式を適用する必要がある - 具体的には、太字のテキスト - 仮想モードでのDataGridViewで使用されるツールチップに。私はCellToolTipTextNeededイベントでテキストを設定することができますが、それは、HTMLタグをサポートしていません。私が使用してしなければならないいくつかの他の構文がありますか?私は、ツールチップのサポートを自分自身を再実装する必要がありますする必要はありません。
解決
あなたはからHtmlToolTipを使用することができます http://www.codeproject.com/KB/GDI-plus/HtmlRenderer。 ASPXする
To use it with DataGridView create a ToolTip (HtmlToolTip) and add this after the InitalizeComponent() in your form to replace the default tooltip:
System.Reflection.FieldInfo toolTipControlFieldInfo=
typeof(DataGridView).GetField("toolTipControl", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
System.Reflection.FieldInfo toolTipFieldInfo=
toolTipControlFieldInfo.FieldType.GetField("toolTip", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
object toolTipControlInstance =
toolTipControlFieldInfo.GetValue(myDataGridView);
toolTipFieldInfo.SetValue(toolTipControlInstance, myToolTip);
.NET 3.5との私のために働く。
他のヒント
イベントの名前が示すように、
、それは単にフォーマットを持っていないであろう、テキストを表示したい。
あなたは書式設定の太字、または他の種類のような何かをしたい場合は、、あなたは自分自身を傾けるツールの表示と描画を処理する必要があるとしています。あなたが最も可能性の高い適切な時にそのイベントに入るために重要な方法でグリッドを無効にする必要がありますが、trueにOwnerDrawするプロパティを設定し、描画イベントを処理する、助けるためにToolTipコントロールを使用しますが、注意することができます。
所属していません StackOverflow