In a normal C# string, the '\' character introduces an Escape Sequence - a way of getting characters into a string that you either can't type (e.g. Newline: '\n') or which are part of the string syntax (e.e. double quotes '\"').
There are two ways around this:
1) Prefix your string with a '@' charcater, in which case '\' ceases to be an escape sequence introducer.
config.Set("Silk", txt_silkdir.Text+@"\silkroad.exe")
or
2) Use the escape squence '\\' instead which produces a single '\' as part of your string.
config.Set("Silk", txt_silkdir.Text+"\\silkroad.exe")