@@ -189,6 +189,7 @@ private void DrawData(List<RollColumn> visibleColumns, int firstVisibleRow, int
189189 _renderer . PrepDrawString ( Font , _foreColor ) ;
190190
191191 Cell currentCell = new ( ) ;
192+ Cell mouseCell = ShowColumnTextOnHover ? CurrentCell : null ;
192193 if ( HorizontalOrientation )
193194 {
194195 for ( int j = 0 ; j < visibleColumns . Count ; j ++ )
@@ -223,20 +224,28 @@ private void DrawData(List<RollColumn> visibleColumns, int firstVisibleRow, int
223224
224225 bool rePrep = false ;
225226 Color foreColor = _foreColor ;
227+ Font font = Font ;
226228 currentCell . Column = col ;
227229 currentCell . RowIndex = f + startRow ;
228230 if ( _selectedItems . Contains ( currentCell ) )
229231 {
230232 foreColor = SystemColors . HighlightText ;
231233 rePrep = true ;
232234 }
235+ if ( text . Length == 0 && mouseCell == currentCell )
236+ {
237+ font = new Font ( Font , FontStyle . Regular ) ;
238+ foreColor = SystemColors . GrayText ;
239+ text = col . Text ;
240+ rePrep = true ;
241+ }
233242 if ( col . Rotatable || rePrep )
234243 {
235- _renderer . PrepDrawString ( Font , foreColor , rotate : col . Rotatable ) ;
244+ _renderer . PrepDrawString ( font , foreColor , rotate : col . Rotatable ) ;
236245 rePrep = true ;
237246 }
238247
239- int textWidth = ( int ) _renderer . MeasureString ( text , Font ) . Width ;
248+ int textWidth = ( int ) _renderer . MeasureString ( text , font ) . Width ;
240249 if ( col . Rotatable )
241250 {
242251 // Center Text
@@ -287,13 +296,26 @@ private void DrawData(List<RollColumn> visibleColumns, int firstVisibleRow, int
287296 QueryItemText ( this , f + startRow , column , out var text , ref strOffsetX , ref strOffsetY ) ;
288297
289298 bool rePrep = false ;
299+ Color foreColor = _foreColor ;
300+ Font font = Font ;
290301 currentCell . Column = column ;
291302 currentCell . RowIndex = f + startRow ;
292303 if ( _selectedItems . Contains ( currentCell ) )
293304 {
294- _renderer . PrepDrawString ( Font , SystemColors . HighlightText ) ;
305+ foreColor = SystemColors . HighlightText ;
295306 rePrep = true ;
296307 }
308+ if ( text . Length == 0 && mouseCell == currentCell )
309+ {
310+ font = new Font ( Font , FontStyle . Regular ) ;
311+ foreColor = SystemColors . GrayText ;
312+ text = column . Text ;
313+ rePrep = true ;
314+ }
315+ if ( rePrep )
316+ {
317+ _renderer . PrepDrawString ( font , foreColor ) ;
318+ }
297319
298320 DrawString ( text , new Rectangle ( point . X + strOffsetX , point . Y + strOffsetY , column . Width , ColumnHeight ) ) ;
299321
0 commit comments