dotnet/winforms
Voir sur GitHubIncorrect toolbar location when restored via `ToolStripManager.LoadSettings`
Open
#4 449 ouverte le 10 janv. 2021
:beetle: bugarea-Layoutarea-controls-StripControlshelp wantedtenet-compatibility
Métriques du dépôt
- Stars
- (4 100 stars)
- Métriques de merge PR
- (Merge moyen 14j 22h) (56 PRs mergées en 30 j)
Description
Presumably all versions:
- .NET Framework: 4.6.1 (tested)
- .NET Version: 5.0 (tested)
Problem description:
Originally reported in https://github.com/gitextensions/gitextensions/issues/8680.
If an application has multiple toolbars, and those are placed at an arbitrary location and persisted via ToolStripManager.SaveSettings, not all toolbars will be correctly located once ToolStripManager.LoadSettings is called.
E.g. on save:

On load:

Expected behavior:
The location of the toolbars persisted in the config must be preserved.
Minimal repro:
- clone https://github.com/RussKie/Test-ToolStripLoad
- Run the app, align both toolbars to the left one under another.
- Stop the app.
- Open the user.config file, located somethere at
C:\Users\<user>\AppData\Local\ToolstripLoad\ToolstripLoad_Url_<random string>\1.0.0.0, check that both toolbars' locations are like this:
<System.Windows.Forms.ToolStripSettings.toolsettings.ToolStripFilters>
<setting name="Name" serializeAs="String">
<value>ToolStripFilters</value>
</setting>
<setting name="Location" serializeAs="String">
<value>7, 25</value>
</setting>
</System.Windows.Forms.ToolStripSettings.toolsettings.ToolStripFilters>
<System.Windows.Forms.ToolStripSettings.toolsettings.ToolStripMain>
<setting name="Name" serializeAs="String">
<value>ToolStripMain</value>
</setting>
<setting name="Location" serializeAs="String">
<value>7, 0</value>
</setting>
</System.Windows.Forms.ToolStripSettings.toolsettings.ToolStripMain>
- Run the app again and observe the bottom toolbar shifted by few pixels to the right.
- Close the app and see that the location value for
ToolStripFiltershas changed.