I would hesitate to use a 'GlobalData' static class as it smacks of a generic Utils-type catch-all class which can end up being a dumping ground for all kinds of junk. I would lean more towards using the Windows Forms Settings (whether User or Application settings) to store my configuration information. Then, your configuration data can be retrieved from anywhere in your Winforms project using Properties.Settings.Default.MySetting
.
With that said, there are some things that I may save in a static class. For example, I have a static SqlDBConnectionInfo object that contains my server, database, and credentials which may be used for making an Sql Connection object or for doing SMO backup/restore operations. This static object gets instantiated on login and any other class that needs to work with the SQL database in some way can grab the static object.
Edit: One other possibility is if you are deserializing/serializing your configuration data using an instance class, you could create a static property in your Program.cs that would hold the instance of your deserialized configuration object. Then, other classes in your project can refer to your configuration data using: MyProjectName.MyConfigurationObject
.