質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1429閲覧

C# Properties内Settings.settingsの変数取得について

miiiiiiiisuke

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

1グッド

0クリップ

投稿2020/07/14 07:30

Visual Studio2010 を使用しています。

Properties内Settings.settingsの中の変数に
「hoge1」「hoge2」「hoge3」というものがあり、
これをフォーム上のテキストボックス内に呼び出す際に、
変数名末尾の数字部分をfor文で回して、
「textBox1.Text」「textBox2.Text」「textBox3.Text」に
一機に流し込みたいと考えています。

for(int i = 1; i <= 3; ++i) { Control c = this.Controls["textBox" + i.ToString()]; var aaa = "hoge" + i.ToString(); c.Text = ?????? Properties.Settings.Default[aaa] ??????; }

「??????」で囲った部分に悩んでおります。
ここでずっとエラーが出ます。

配布が楽になる SQLite で内部でDB持たせて、とも考えたのですが、
設定の仕方が分からなかったので、諦めました。
ちなみにhogeは100まであります。

たくさん調べてだいぶ悩んだのですが、
一向に解決しないのでご相談させていただきました。
なにとぞご教授の程、よろしくお願いいたします。

TN8001👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/07/14 08:02 編集

回答ではないのでコメント欄に書きますが Settings.settings は使わないで、DB も使わないで、ごくありふれた xml ファイルを作って、アプリを立ち上げる際にそれから読んで設定するのはいかがですか? xml の作り方しだいでループを回して取得するのは問題なくできそうですが。
miiiiiiiisuke

2020/07/14 07:56

ご回答ありがとうございます!xmlファイル!?よく分かっていないのですが、どのようなものなのか、勉強します。 設定ファイルを外部に持たせたくないのですが、xmlは内部に持たせることが可能なのでしょうか。
退会済みユーザー

退会済みユーザー

2020/07/14 08:02

> 設定ファイルを外部に持たせたくないのですが、xmlは内部に持たせることが可能なのでしょうか。 Settings.settings の構成ファイルの場所は以下の記事の通りで、これは外部だと思うのですが? 構成ファイルの保存場所 http://surferonwww.info/BlogEngine/post/2019/09/01/where-are-configuration-files.aspx また、構成ファイルも中身は xml ファイルです。
退会済みユーザー

退会済みユーザー

2020/07/14 08:08

一つ忘れていました。Settings.settings の種類の中には System.Collections.Specialized.StringCollection というのがあって、これを使えばループを回して・・・ということができるかもしれません。(思い付きなので、できなかったらすみません)
hihijiji

2020/07/14 08:21

パッと見だけど Properties.Settings.Default[aaa]; ↓ Properties.Settings.Default[aaa].ToString(); じゃ駄目なの? 個人的には諦めず SQLite を覚えてほしいところです。
miiiiiiiisuke

2020/07/14 10:25

SurferOnWww 様 XMLについても、調べている途中でチラホラ出てきて、分からなくて避けて通ってましたが、これを機にしっかり勉強してみます。 hihijiji 様 SQLite、諦めない方が良いですかねw SQLiteもいじくり倒して途方に暮れ、時間かけすぎたので、今回はとりいそぎ結果の出るもので対応しておき、しっかり勉強してから入れ替えてみます。ありがとうございます。
guest

回答1

0

ベストアンサー

Settings.settingshogeが文字列で設定しているなら、

cs

1c.Text = (string)Properties.Settings.Default[aaa];

でOKです。

投稿2020/07/14 09:30

編集2023/07/22 09:14
TN8001

総合スコア9321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miiiiiiiisuke

2020/07/14 10:21

ありがとうございます!帰宅してしまったので、明日会社で実装してみます!またご報告させていただきます!
miiiiiiiisuke

2020/07/15 00:06 編集

おはようございます。無事に解決いたしました!!感動です。本当に本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問