- - PR -
Win.Formでコントロールを配列にするには?
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-05-31 15:28
現在、VB.NETで開発しています。
仕様により、カレンダーコントロールを使わずに自作でカレンダーを 作らなくてはなりません。 ちなみにその月の日付の数だけボタンを表示させ、ボタンに日付を 表示させるというカレンダーです。 以前のVB6.0のころはコントロール配列を使うことができたので、 自作でカレンダーをつくるには、(下記例ではトグルボタンで作っています。) Public Sub DateSet() Dim i As Integer, st As Date, wd As Integer With Me st = DateSerial(.Y, .M, 1) '表示年月の1日を設定 wd = WeekDay(st) '1日の曜日を求める For i = 0 To 36 '不用枠をクリアする Me("c" & i).Caption = "" hiduke = Null Me("c" & i).Visible = False Next i i = 1 Do Me("c" & wd - 1).Caption = i '日付を書込む If Year(Date) = .Y And Month(Date) = .M And Day(Date) = i Then hiduke = i Me("c" & wd - 1).Visible = True wd = wd + 1 i = i + 1 Loop Until Day(st + i - 1) = 1 '翌月1日が出て来るまで繰り返す End With End Sub といった感じで作れたと思うのですが、VB.NETではどのようにしたらよいか わかりません。 まだまだVB.NET初心者なのでわからないことばかりです。 よろしくお願いします。 [ メッセージ編集済み 編集者: えっこ 編集日時 2004-05-31 15:39 ] [ メッセージ編集済み 編集者: えっこ 編集日時 2004-05-31 16:17 ] | ||||||||
|
投稿日時: 2004-05-31 16:12
タイトルは正しく付けましょう。『自作でカレンダーを作るには?』ではなく、『Win.Formでコントロールを配列にする』の方が、問題を的確に表していると思います。
それで、右上にhttp://www.atmarkit.co.jp/bbs/phpBB/search.php][検索]というリンクがあるのがわかりますか?これ(ではなく、この段落の「検索」を)クリックして、キーワードに【コントロール 配列】、【すべてが含まれる投稿を検索】をチェック、会議室に【Insider.NET】を選択して、[検索]ボタンをクリックしましょう。 | ||||||||
|
投稿日時: 2004-05-31 16:13
要はコントロール配列を使いたいってことでしょうか?
自分VB.NETはよく分からんのですが(じゃあ、答えるなって?汗) C#でもフォームのデザイン時にはコントロール配列が使えません。 しかし、以下のようにコードで書けばコントロールも配列化できます。 (例がC#で申し訳ない。VB.NETに読み替えてください) たぶんVB.NETでもできるはず。 ----------------------------------------------------- フォームのメンバ変数 private Button[] days = new Button[35]; ----------------------------------------------------- フォームの初期化ロジックで (VB.NETにもコンストラクタってある?) int index = 0; for(int i = 0 ; i < 5 ; i++) { for(int j = 0 ; j < 7 ; j++) { index = i * 7 + j; days[index] = new Button(); days[index].Size = new Size(50, 50); days[index].Location = new Point(j * 50, i * 50); days[index].Visible = true; days[index].Text = index.ToString(); days[index].Name = index.ToString(); this.Controls.Add(this.days[index]); } } ----------------------------------------------------- | ||||||||
|
投稿日時: 2004-05-31 18:02
Jittaさん>
おっしゃる通りです。すみませんでした。 noderaさん> ありがとうございました。参考になりました。 | ||||||||
|
投稿日時: 2004-05-31 18:19
えっこさんの36も気になったのですが、例えば今年の5月は、
と、7×6=42必要だと思うのですが???えっこさんのだと、終わりを切っているので、36で足りるのかな?とも思ったり。。。 |
1