タイトル | : コントロール取得順序 |
記事No | : 6902 |
投稿日 | : 2008/01/27(Sun) 12:07 |
投稿者 | : ターチ |
VB2005を使い開発しているのですが、いろいろ調べました解決できません、 ご教授よろしくお願いいたします。
フォームにテキストボックス31個貼り付けて(txtDate1〜31)日付を表示するプログラム を作っています。
日付は正しくテキストボックスにセットされるのですが31日〜1日の順で表示されてし まいます、その月のマックス日からマイナス1ずつしプログラムする方法もあるのですが 今後、曜日や時間のテキストボックスを貼り付け拡張していきたいと思います。
現在はArrayListには画面(Form)の下からの順でコントロールが取得されています。 今後はArrayListには画面(Form)の上からの順でコントロールを取得したいと思います。
並べ替えtxtDate.sortもいろいろ調べたのですがうまく行きません宜しくお願いします。
Dim wkArray As New ArrayList
For Each ctrl As Control In Me.Controls If ctrl.GetType Is GetType(TextBox) And Strings.Left(ctrl.Name, 7) = "txtDate" Then wkArray.Add(ctrl) End If Next
Dim wkYear As Integer = 2008 Dim wkMonth As Integer = 1 Dim wkDay As Integer = 1 Dim wkDate As Date Dim iDaysInMonth As Integer = DateTime.DaysInMonth(wkYear, wkMonth) For Each ctrl As TextBox In wkArray If wkDay <= 31 Then wkDate = wkYear & "/" & wkMonth & "/" & wkDay wkDay = wkDay + 1 ctrl.Text = wkDate.ToString("dd日") End If Next
|