I have found that the best way to store user data for a
Windows Forms application is in the UserAppDataPath
location.
Here's some information about it from the MSDN
Documentation:
Application.UserAppDataPath Property
Gets the path for the application data of a user.
[C#]
public static string UserAppDataPath {get;}
Property Value
The path for the application data of a user.
Remarks
If a path does not exist, one is created in the following
format:
Base Path\ CompanyName\ ProductName\ ProductVersion
Data stored in this path is part of user profile that is
enabled for roaming. A roaming user works on more than
one computer in a network. The user profile for a roaming
user is kept on a server on the network and is loaded
onto a system when the user logs on. For a user profile
to be considered for roaming, the operating system must
support roaming profiles and it must be enabled.
A typical Base Path, as identified in the path above, is
C:\Documents and Settings\ username\Application Data.
Good Luck,
Doug