2012-03-08 6 views
0

私はコンフィグファイル生成プロジェクトのiniクラスを追加し、他のC#のフォームプロジェクトでは、設定ファイルのジェネレータを作成するためにThisを使用し、2見えないtextboxesを作成しにコンフィグ発電プロジェクトのReadValueを使用以前にConfigファイルgenによって作成されたURLを読み込みます。このプロジェクトは、ファイルをダウンロードするためにURIを使用して、私が欲しいウリが表示されていないテキストボックスのテキスト(つまり、設定ファイルのURLである)であることをことを私はウリ(private Uri PatchLocation = new Uri(TextBox1.Text);)を書くことTexBox、ウリ&クラス

IniFile ini = new IniFile("C:\\Config.ini"); 
TextBox1.Text= ini.IniReadValue("Config","Patch URL"); 

を行うとき "フィールドイニシャライザは、非スタティックフィールド、メソッド、またはプロパティ 'Downloader.Form1.TextBox1'"を参照できません。 私はUriをTextBoxテキストにするために何をする必要がありますか? 私は本当にそれをする必要があるので、誰かが私を助けてくれることを願っています。前もって感謝します。

答えて

1

への変更は基本的に、あなたが現在持っているコードは何をされていない「私はTextBox1テキストボックスから何を得るには、私は、このForm1のオブジェクトを初期化する際に、設定PatchLocation」と言っている

private Uri PatchLocation 
{ 
    get 
    { 
     return new Uri(TextBox1.Text); 
    } 
} 

を試してみてくださいとにかく、コンパイラはあなたにそれをさせません。

私が与えたコードは、PatchLocationを読むまで、Textbox1 の内容を読み取らないというプロパティです。 PathLocationを読み取ろうとするたびに、値はTextBox1.Textから解析されます。その値がその時点で有効なURIでない場合、例外がスローされます。

編集:あなたが使用する本当に説得力のある理由がない限り、実際には、完全にあなたの質問を読ん持つ、あなたは少なくとも、隠しテキストボックスを削除し、

private Uri PatchLocation 
{ 
    get 
    { 
     IniFile ini = new IniFile("C:\\Config.ini"); 
     return ini.IniReadValue("Config","Patch URL"); 
    } 
} 

を使用してオフにはるかに良いと思います隠されたテキストボックス。

+0

実際、これが解決策でした。ありがとうございました。 – Derezzed

1

IniFileクラスに必要な名前空間を追加しましたか?

using Ini; 

Btwこの行は間違っていますnew Uri("TextBox1.Text")。代わりにprivate Uri PatchLocation = new Uri(TextBox1.Text);new Uri(TextBox1.Text)

+0

はい、私はIniクラスを含めてくれてありがとうございましたが、私のフォームにはすでにそれらがありません。 – Derezzed

関連する問題