Вместо private Uri PatchLocation = new Uri(TextBox1.Text);
попробуйте
private Uri PatchLocation
{
get
{
return new Uri(TextBox1.Text);
}
}
По сути, код, который вы сейчас используете, говорит: «когда я инициализирую этот объект Form1, установите PatchLocation на то, что я получаю из Textbox1», а это не то, что вам нужно - и компилятор не позволит вам это сделать в любом случае.
Код, который я дал, является свойством, что означает, что он не будет читать содержимое Textbox1 , пока вы не попытаетесь прочитать PatchLocation
. Каждый раз, когда вы пытаетесь прочитать PathLocation
, он будет анализировать значение из TextBox1.Text
. Он выдаст исключение, если это значение не является допустимым URI в то время.
Редактировать : На самом деле, полностью прочитав ваш вопрос, вам будет гораздо лучше хотя бы удалить скрытое текстовое поле и использовать
private Uri PatchLocation
{
get
{
IniFile ini = new IniFile("C:\\Config.ini");
return ini.IniReadValue("Config","Patch URL");
}
}
, если у вас нет действительно веских причин использовать скрытое текстовое поле.