Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

フォームの値を全て取得したい(VC#)

こんばんは。 最近、VC#をやり始めたのですが、フォームの値を取得するのに 以下のような感じで、一つずつフォームの値を取得していて とても時間がかかり困っています。 フォームにあるテキストやラジオボタンなどを 一括(for分など)で取得する方法ありましたら教えて頂きたいです。 //テキストの取得 global.駅1 = フォーム駅1.Text; global.駅2 = フォーム駅2.Text; global.駅3 = フォーム駅3.Text; //コンボボックスの選択値取得 global.駅番号 = コンボボックス駅番号.SelectIndex;

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Windowsフォーム上のすべてのコントロールを列挙するには? を紹介します。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/224controls/controls.html
noname#247619
質問者

お礼

ご回答ありがとうございます。 Controlsプロパティに登録された各コントロールを再帰的に取得できましたが、 #2さんの言うとおり、データグリッドやラジオボタンなどは再帰的に取得すると問題があり、除外したりするので、結局コーディング時間がかかってしまいました。 ただ、テキストボックスに入力された値は再帰的に取得できましたので、助かりました。 データグリッドやラジオボタンの値を取得するのは、一つずつコーディングしていこうと思います。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>とても時間がかかり困っています。 コーディングに時間がかかる。ということならそういうものですからあきらめてください。 #2の方のいわれるように適用したいコントロールの配列を作っておく手もありますけど、けっきょく配列に列挙することになるのであんまり変わらないです。

すると、全ての回答が全文表示されます。
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

> とても時間がかかり困っています。 何の時間か分かりません。一括で取れたところで処理時間は体感できるほど 変わらないと思います。逆に個別で指定した方が変に検索とかするより 高速です。処理が遅いなら他に原因があるのでは? コーディングの時間という意味なら、#1さんのご紹介通りControls プロパティ を利用すれば良いと思いますが、コントロールの種類によって処理を分ける ようなプログラムは書けるんでしょうか? 適用したいコントロールと適用したくないコントロールが出てきたときにも 今度は特定のコントロールを除外するコードが必要になりますし、事前に 該当のコントロールの配列を作っておくほうが便利なんじゃないかと思います。

すると、全ての回答が全文表示されます。

関連するQ&A