tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルコントロール取得順序
記事No6902
投稿日: 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

[ツリー表示へ]
タイトルRe: コントロール取得順序
記事No6907
投稿日: 2008/01/28(Mon) 08:06
投稿者花ちゃん
> 並べ替えtxtDate.sortもいろいろ調べたのですがうまく行きません宜しくお願いします。
>
>         Dim wkArray As New ArrayList
>                 wkArray.Add(ctrl)
>             End If
>         Next

         wkArray.Reverse()  ' 追加して見ては?


>
>         Dim wkYear As Integer = 2008
>         Dim wkMonth As Integer = 1
>         Dim wkDay As Integer = 1

[ツリー表示へ]
タイトルRe^2: コントロール取得順序
記事No6909
投稿日: 2008/01/28(Mon) 09:56
投稿者ターチ
wkArray.Reverseですか
解決できました、ありがとうございました、
今後も利用させていただきたいと思います。

[ツリー表示へ]