Come formattare la descrizione comandi utilizzata da un DataGridView in modalità virtuale?

StackOverflow https://stackoverflow.com/questions/487499

  •  20-08-2019
  •  | 
  •  

Domanda

Devo applicare la formattazione, in particolare il testo in grassetto, alla descrizione comandi utilizzata da DataGridView in modalità virtuale. Posso impostare il testo nell'evento CellToolTipTextNeeded, ma non supporta i tag HTML; c'è qualche altra sintassi che dovrei usare? Non voglio dover reimplementare il tooltip per supportarmi.

È stato utile?

Soluzione

Puoi usare HtmlToolTip da 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);

Lavora con me con .net 3.5

Altri suggerimenti

Come suggerisce il nome dell'evento, vuole semplicemente visualizzare il testo, che non avrà formattazione.

Se vuoi qualcosa come grassetto o altri tipi di formattazione, dovrai gestire tu stesso la visualizzazione e il disegno del suggerimento. È possibile utilizzare il controllo della descrizione comandi per aiutare, impostare la proprietà OwnerDraw su true e gestire l'evento Draw, ma è molto probabile che sarà necessario sostituire la griglia in modo significativo per accedere a quell'evento al momento opportuno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top