This turned out to be all that was necessary to get grid auto-sizing (and stretch) to work throughout the OP application.  Essentially I added just one line to the grid wrapper OnResize event handler and this did everything that we need!  Columns now automatically generate their width from the first 200 (by default) rows, optionally including the header text in the calculation.  Furthermore, the great news is that this is a better way of working than the (temporary) fix that I did a few months ago for certain selected screens.  That was triggered by trying to minimise the time taken to display a grid with thousands of rows.  Also at that time there seemed to be a strange behaviour where repeated maximise and restore of a window went progressively slower!

This new checkin seems to work ok with all these issues and just works everywhere for all screens.

When the filter panel is toggled the grid now resizes (which is great).  When the filter panel is shown the header text is not included in the column width calculation.  When the filter is not shown, it is included.
All these changes have been made possible due to the new grid autosizing changes.  Basically a whole bunch of code is now no longer required because it happens automatically!
merge from trunk - no conflicts
Fixed the bug on grids that have fixed columns on the left (mainly Partner/Find), whereby the highlight bled across into the fixed left region.  I fixed that so that, as intended by the original developers, the highlight is in the scrollable area only - and then added new code so that the highlight was applied to the fixed left region as well.  The result is that we now get full row highlighting.
Changed the new property MaxAutoSizeRows to default to a value of -1 (Automatic).  When it is -1 the getter will return a value based on assessing 1000 rows * columns.  So the number of rows is dependent on the number of columns to be assessed.  This typically gives a figure of 100-200 rows.
Added a method : FocusFirstEditableControlManual() so that the manual code file can specify the control to be focussed in exceptional circumstances.
All finance screens now use the new standard grid autosizing technique.  These changes remove the 'special' methods used before.  I possibly need to make a slight tweak on screens where the filter panel is initially displayed, because this results in incomplete header text.  When I showed the team there was considerable support for using tooltips to display the full header text.
Modified the existing manual code to use the new auto-sizing method
Added handlers for shortcut keys to the whole Partner Edit screen
Changed a manual call to AutoSizeCells() to the new call - AutoResizeGrid()
Uncrustify
Merge from trunk.  All the finance screens had merge conflicts relating to autosizing the grid.  I need to check all of these to make sure the code is correct.  In particular the code for handling the list changed event.
These changes are all the fixes that correct the merge conflicts that I got on the most recent merge from trunk.
Uncrustify
Merge from trunk.  3 conflicts again.
Another place I missed in conflicts - this time I left a variable that is never used.
Still sorting out conflicts from the most recent merge
Another merge from trunk.  No conflicts this time!
Merge from Branch 'lp:~alan-paterson/openpetraorg/dev0002592_autosize_grid'