It looks like your SettingsPropertyValueCollection is getting corrupted, so that the values in the _Indices HashTable doesn't correspond to the size of the _Values ArrayList.
The class itself should be pretty well tested, so there might be something in your code that is accessing some memory that it shouldn't. Typically that's only possible when using reflection, unsafe code blocks or calls to unmanaged code.
Despite everything, the person most likely to be fooling you next is yourself.
I am trying to write a program that will communicate with another application using xml messages over tcp/ip.
The host machine has a public IP address and i will send the xml messages to a particular port number.
The documentation of the host application makes numerous references to socket programming so i'm guessing that is a hint to any potential users.
So I was wondering how i can use dot net (C#) to the following:
firstly, create the xml documents(xml messages)
secondly, send these xml documents over the network over tcp/ip sockets
thirdly, view the response from the host machine
Changing only the registry values will not change the background color.
Have a look at the API: SetSysColors.
It is present in user32.dll
If you want to change the wallpaper and get related information, have a look at SystemParametersInfo which is also present in user32.dll
Thanks, after turning my computer on this morning the background colour has changed, so it seems as though it is working, just not picking up the changes until a reboot..
I thought I should be able to do it through the registry keys as with changing the wallpaper (Which I'm already doing)?
I'll have a look at SetSysColors and see where I get.