C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: 同じ処理をまとめる方法


(過去ログ 139 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■81550 / inTopicNo.1)  同じ処理をまとめる方法
  
□投稿者/ glanheit (1回)-(2016/10/08(Sat) 01:31:01)

分類:[C#] 

同じ処理をまとめる方法がどうも分からないため質問させていただきます。
当方の環境
visual studio 2015
.NET Framework 4.5.2

チェックボックスのチェック状態を保存したいのですが、現在
checkBox1.Checked = Properties.Settings.Default.systemmenu1;
checkBox2.Checked = Properties.Settings.Default.systemmenu2;
checkBox3.Checked = Properties.Settings.Default.systemmenu3;
checkBox4.Checked = Properties.Settings.Default.systemmenu4;
となっており、何とかまとめたいと思っています。

CheckBox[] Target = new CheckBox[] { checkBox1, checkBox2, checkBox3, checkBox4 };
for (int i =0; i < Target.Length;i++)
{
Target[i].Checked = Properties.Settings.Default.systemmenu〇;
}
といった風に書いてみたのですが、systemmenu〇の〇にチェックボックスと同じ番号を入れたいのですがやり方がわかりません。
どのように記述すればいいのでしょうか。

またradiobuttonのチェック状態も保存したいと考えているのですが、現在は数字を保存するようにしていて、読み込み時
switch (Properties.Settings.Default.savenamemenu)
{
case 0:
radioButton1.Checked = true;
break;
case 1:
radioButton2.Checked = true;
break;
case 2:
radioButton3.Checked = true;
break;
}
保存時
if (radioButton1.Checked == true)
Properties.Settings.Default.savenamemenu = 0;
if (radioButton2.Checked == true)
Properties.Settings.Default.savenamemenu = 1;
if (radioButton3.Checked == true)
Properties.Settings.Default.savenamemenu = 2;
となっております。こちらも併せてもっと見栄えをよくするにはどうすればいいでしょうか?
よろしくお願いいたします。

引用返信 編集キー/
■81551 / inTopicNo.2)  Re[1]: 同じ処理をまとめる方法
□投稿者/ WebSurfer (1044回)-(2016/10/08(Sat) 12:51:03)
No81550 (glanheit さん) に返信

System.Collections.Specialized.StringCollection は使えませんか?

#個人的には「まとめる」必要は感じませんし、今のままで「見栄」も悪くない
 と思いますが・・・
引用返信 編集キー/
■81552 / inTopicNo.3)  Re[1]: 同じ処理をまとめる方法
□投稿者/ Azulean (721回)-(2016/10/08(Sat) 16:43:13)
No81550 (glanheit さん) に返信
> 同じ処理をまとめる方法がどうも分からないため質問させていただきます。

GUI と1対1で良いなら、デザイナでバイディングすれば、コーディングはなくなりますけれどね。
https://msdn.microsoft.com/ja-jp/library/0yyxh69h

望まれているようなことをしようとすると、リフレクションに頼るしかないかと。

// なんとなく、Settings に直接つなげるのではない形が良さそうな気もするけれど。
引用返信 編集キー/
■81553 / inTopicNo.4)  Re[2]: 同じ処理をまとめる方法
□投稿者/ glanheit (2回)-(2016/10/08(Sat) 19:20:26)
返信ありがとうございます。

今後同じようにチェックボックス等の数が増えていった場合に纏めていた方が行数が少なくなり、良いと思ったのですが…。
流石に10個20個の単位で同じような処理が並ぶのは、見た目も悪いと思いませんか?

System.Collections.Specialized.StringCollectionについて調べてみます。
引用返信 編集キー/
■81554 / inTopicNo.5)  Re[3]: 同じ処理をまとめる方法
□投稿者/ WebSurfer (1045回)-(2016/10/08(Sat) 21:05:05)
No81553 (glanheit さん) に返信

> 流石に10個20個の単位で同じような処理が並ぶのは、見た目も悪いと思いませんか?

個人的には「10個20個の単位」なら「見た目も悪い」とは全く思わないです。

100 個とか 200 個ならともかく、ユーサーが操作するものですから、せいぜい「10個
20個の単位」ではないのですか?

あと、動的に数が変わるのでそれに対応したいということなら話は別ですが、そういう
訳でもないのですよね?

後で保守する人のことを考えたら、変に(失礼)いじるより、分かりやすいのが一番で
はないかと自分は思います。

コードを短くすることにこだわっておられるようですが、それにどういうメリットがあ
るとお考えですか? 短くして分かりにくくするのはいかがなものかと思うのですが。
引用返信 編集キー/
■81555 / inTopicNo.6)  Re[4]: 同じ処理をまとめる方法
□投稿者/ glanheit (3回)-(2016/10/08(Sat) 22:55:10)
No81554 (WebSurfer さん) に返信
同じようなコードをズラッと並べるのは何処か心理的に気持ち悪く感じてしまい、数行で纏められたらすっきりして綺麗かなと思った次第です。
しかし、確かに言われてみれば、だからこそ見やすい、分かりやすいというものもありますね…。

くだらない質問に答えて頂き有難うございました。
解決済み
引用返信 編集キー/
■81569 / inTopicNo.7)  Re[5]: 同じ処理をまとめる方法
□投稿者/ Jitta (217回)-(2016/10/11(Tue) 10:49:52)
No81555 (glanheit さん) に返信
> 同じようなコードをズラッと並べるのは何処か心理的に気持ち悪く感じてしまい、数行で纏められたらすっきりして綺麗かなと思った次第です。
同意。
tupple や dictionary 使って、コードをデータ化するようにしています。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -