質問: h + 30 next i me.mypnl.controls.addrange(me.mytxt) と書くと最後の行が波線になり、 “型 'system.windows.forms.textbox の 2 次元配列' の値を 'system.windows.forms.control' に変換できません。”とエラーになります。 これはaddrangeは多次元配列に使用できないということなのでしょうか? 色々検索してみましたが、コントロールの生成に関する多次元配列が見つけられずに 困っていました。 最後のaddrange(me.mytxt)をadd(me.mytxt(i,j))などと変えたりしても別のエラーになり、 基本的に間違っている気がしますがどこだかがわかりません。 詳しい方、宜しくお願い致します。
回答: control.controlcollection.addrangeはcontrolの一次元配列を引数にとります。 ref) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.controlcollection.addrange.aspx このため,二次元配列を直接引数に渡すことはできません。 一次元配列にすれば良いのですが,配列はienumerable(of t)を一次元配列の時のみ実装するため, mytxt.cast(of control).toarray() のようにienumerable(of control)を経由して一次元配列にすればよいでしょう。 # ie(of t)を二次元配列も実装してくれればtoarray()一発だったのですが......。