【質問】ASP.NETスレ Part3【議論】at PHP【質問】ASP.NETスレ Part3【議論】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト365:344 07/02/06 23:06:41 SPFBBkyr >>364 ごめんVBはさわったことがないので、どういう書き方かわかんないw それぞれ説明すると > foreach (Control a in this.form1.Controls) Control型の変数aに、そのページ上に配置されてるコントロールを順次いれていきますよということ > if (a.GetType() == typeof(TextBox)) そのaという変数のクラスの形がTextBoxであったら・・ということ > TextBox b = (TextBox)a; aはControl型の変数なので、TextBox型の変数bにキャストして代入しますよということ VBだとたぶん、 TextBox b = a as TextBox とかなのかな? 366:nobodyさん 07/02/06 23:13:58 C#でもas演算子あるから。。。 367:344 07/02/06 23:19:21 SPFBBkyr >>366 VBでも同じようなのがあったように思って想像で書いたんだもん(´Д⊂グスン 間違いを指摘してくれるのもありがたいけど、よければあなたの知恵も 貸しておくれよ(´Д⊂グスン 368:364 07/02/07 10:33:07 サンクスです。 昔のBasicとかだと、全部見るなんていうのはムダっていう感覚があったかと思いますが、最近は考え方そのものが 違うんですね。 VBだとこんな感じになりました。 For Each a As Control In form1.Controls If TypeOf a Is TextBox Then Dim b As New TextBox b = a b.Text = "ガッ" End If Next これでバッチリと思って実際に使おうとしたら、MasterPageを使っているせいか実際にコントロールを参照したいページが 見えません。 参照したいページのコード上で For Each a As Control In Form.Controls とやってもマスターページ上のコントロールを拾っているようです。 該当ページのID名を名指ししても.Controlsが候補に出てきませんし、どうすれば指定ページの参照ができるんでしょう? 最近.NETを始めたので、クラスとか継承とかの概念がイマイチ掴みきれなくて難儀してます。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch