私のコードで設定したデフォルトの設定を含む30個のテキストボックスを持つフォームがあります。ユーザーはそれを変更するオプションがありますが、次にアプリケーションを実行するときに、そのテキストボックスの1つ(または複数)にユーザーが選択した新しい値を保存する方法を知りたいと思います。 ありがとうございます次回アプリケーションの実行時にテキストボックスの値を保存する
答えて
値をファイルに保存します。 30のテキストフィールドの場合、30行またはカンマ区切りの値を使用できます。
ユーザーが値を変更し、そのファイルに新しい値を書き込むと、次回の起動時に新しい値がファイルに追加され、古いデータを読み取る必要がなくなります。この問題を解決するための
この回答はおそらくもう少し詳しく述べる必要があります。たぶん、いくつかのコード例は、テキストをファイルに/から読み込んで/ロードする方法と、高レベルの説明ではなく、*どこで*行うのかの例です。さもなければ、これは既にコメントで示唆されています。 HTH –
簡単な方法:
//To write textbox values to file (may be used on form close)
using (System.IO.StreamWriter sw = new StreamWriter("values.txt"))
{
foreach (var control in this.Controls)
{
if (control is TextBox)
{
TextBox txt = (TextBox)control;
sw.WriteLine(txt.Name + ":" + txt.Text);
}
}
}
//To read textbox values from file (may be used on form load)
using (System.IO.StreamReader sr = new StreamReader("values.txt"))
{
string line = "";
while((line=sr.ReadLine()) != null)
{
//Ugly, but work in every case
string control = line.Substring(0, line.IndexOf(':'));
string val = line.Substring(line.IndexOf(':') + 1);
if(this.Controls[control] != null)
{
((TextBox)this.Controls[control]).Text = val;
}
}
}
あなたの保存したファイルを編集して気にしないと、テキストボックスの名前を変更するか、の順序を残すことができ、それらのレイアウトを変更する予定がない場合値をコンパイラに渡します。節約のためにこれを使用します。
ロード用// first collect all values
List<string> allvalues = this.Controls.OfType<TextBox>().Select(x => x.Text).ToList();
// write to file
System.IO.File.WriteAllText("yourPath", String.Join(Environment.NewLine, allvalues));
と、この:
//load the values:
string [] alllines = System.IO.File.ReadAllLines("yourPath");
List<TextBox> allTextboxes = this.Controls.OfType<TextBox>().ToList();
for (int i = 0; i < allTextboxes.Count; i++)
{
allTextboxes[i].Text = alllines[i];
}
説明:
this.Controls.OfType<TextBox>()
あなたのWindowsフォーム内のテキストボックスであるすべてのコントロールを取得します。
String.Join(Environment.NewLine, allvalues)
は、すべての値を改行で区切られた文字列に結合します。
ありがとうございます!私は設定ファイルでそれを行う方法を尋ねることができますか? – Jonathan
app.configは、多くの定義済みの設定セクションがあり、カスタム設定セクションをサポートするXMLファイルです。私たちは名前mySetting
とmySetting2
を設定するためのタグを持っている例は、あなたがConfigurationManager
クラスを使用することができますので、あなたが、System.Configuration
への参照を追加する必要があります設定ファイルを使用するために
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="mySetting" value="myValue1"/>
<add key="mySetting2" value="myValue12" />
</appSettings>
</configuration>
を示しています。以下は、読書のためのサンプルであるとapp.config
ファイルへの書き込み:TEXTBOXからCONFIG TO
WRITE:コンフィグから
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["mySetting"].Value=textBox1.Text;
READ:
var mySetting = ConfigurationManager.AppSettings["mySetting"];
- 1. 実行中のアプリケーションを保存する
- 2. 保存時にマクロを実行する
- 3. 実行時に画像をiphoneアプリケーションに保存
- 4. Jquery - 実行時に別のテキストボックスの値でテキストボックスを更新する
- 5. 最終アプリケーションの実行日時の保存
- 6. 毎回実行後にSVNのanaccessive.logを保存/更新する
- 7. C++アプリケーションの複数回の実行で値を保存する方法はありますか?例えば
- 8. Webstorm:保存時に.batを実行
- 9. 実行時に可変値を保存していません。
- 10. Djangoのユーザーモデルで保存時にコードを実行するには?
- 11. wpfアプリケーションの次の実行のためのデータ文字列を保存
- 12. 実行時間のテキストボックス
- 13. 保存時にWPF/MVVMがテキストボックスの変更を検出する
- 14. Python 2.7:次回セッションを実行しても変数値を永続的に保存します
- 15. Eclipseの保存時にant展開スクリプトを実行する
- 16. Golangdの保存時に 'goimports'を実行する
- 17. 実行時にフォームのレイアウトを保存する方法
- 18. リピーター内のテキストボックスの値と保存先
- 19. アプリケーションを次回実行するためのボタンの中にテキストを残す
- 20. 次回の使用のためにリストコンテンツを保存する
- 21. Spring、アプリケーション起動時にタスクを1回実行する
- 22. WebFormsにテキストボックスを挿入し、ポストバック時の値を保持する
- 23. ボタン上のキャッシュにテキストボックス値を保存する
- 24. テキストボックス(ASP.NET)に値を「保存」する最良の方法は?
- 25. テキストボックスの値を更新してデータベースに保存する方法
- 26. winformアプリケーションの実行時にユーザーの入力からレポートヘッダーのテキストボックス値を変更する
- 27. 実行中にRocksDBの値を保存する
- 28. バネデータのデッドロックを回避する方法データを同時に保存しながらneo4j ogmを実行する
- 29. TouchListViewを保存し、次回アプリケーションを開くときに開きます
- 30. テキストボックスの値の代わりにSystem.Web.UI.HtmlControls.HtmlInputTextを保存します。asp.net
は、設定ファイルを使用し、保存しますそれの変更 – apomene
あなたはテキストファイルまたはXMLファイルまたはデータベースにそれを保存することができます.....任意の最初の試み? –
多くの方法があります:それらはDB、組み込みの設定ファイル、独自のxml/jsonファイルです。 –