- - PR -
For文で変数を変更するには?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-02 10:35
おはようございます。
300個近くのTextBoxですが、エクセルのような表を作って月別の予定表を作ろうと思っていて、 Grid系は調べたのですが、利用方法がデータベースの表示方法といったものしか発見できず・・ TextBox(大きさ:20*20)を利用して強引に表を作ろうとしていました。 甕星さまのご指導通り法則性がありますので ソース上でTextBoxを作って配列すれば一番いいようなのでやってみました。 無事表が出てきました。(細かいです、、) 変数も無事各TextBoxに反映されているので大丈夫みたいです。 やったはいいもののハッシュはよく理解出来ていませんでした、、 今勉強中です、すいません。 皆様のお陰で助かりました。ありがとう御座いました。 | ||||||||
|
投稿日時: 2005-02-02 11:11
こんな感じになったのかな?
| ||||||||
|
投稿日時: 2005-02-02 11:51
・・・・・。。
「目的の機能となったのだから、それでも良いのか?・・」っと自問自答してしますが・・。 ちょっと絶句ぎみです・・・。 ご苦労さまでした。 .Netから初めてWindowsアプリケーションを作られたのだと思いますが、 Gridの勉強はしたほうが良いと思います。 この掲示板のページの上部に、 バナーで”GrapeCity”さんの広告はよく見えますよね。 お金がかかりますが、標準グリッド(DataGrid)よりも拡張した機能を持った 便利で使いやすくなっている(?)グリッド系コンポーネントも販売しています。 買えなくても世の中にどのような機能のものが存在するのか調べるのも 勉強になって良いと思います。。 ご健闘をお祈りします。 | ||||||||
|
投稿日時: 2005-02-02 11:52
下記のソースで今のところやってます。
ご報告までに。 xxななおxx様、なんども足を運んでいただき、ほんとありがとうございます。 ■ソース Dim yoko As Integer = 20 Dim tate As Integer = 20 Dim X As Integer = 150 Dim Y As Integer = 150 Dim TextBox() As TextBox Dim Count As Integer="読み込みデータの数" For i As Integer = 0 To AllCount - 1 TextBox(i) = New TextBox With TextBox(i) .Text = dtView(i)(0) .Width = yoko .Height = tate '縦に幅2pxで表示 .Location = New Point(X, Y + (i * 22)) End With Me.Controls.Add(TextBox(i)) '出力テスト Debug.WriteLine(i) Next [ メッセージ編集済み 編集者: たにくん 編集日時 2005-02-02 11:57 ] | ||||||||
|
投稿日時: 2005-02-02 12:11
デザイナの影響を受けないように、InitializeComponent() の外(後方)に出しておいたほうが良いと思います。 _________________ IEEE-CSDP 2004-2007 | ||||||||
|
投稿日時: 2005-02-03 11:21
こんにちわ。ぼのぼのです。
TextBoxを並べる方式で落ち着いたみたいですので今更かもしれませんが… DataTableを自分で定義すれば、データベースの表示方法といったものがそのまま応用できますよ。DataGrid使ったほうが、多分後々楽です。TextBoxをコードで並べる方法は、色々勉強にもなるでしょうし、ほんとの意味で「好きなように」並べられるので、決してデメリットばかりではないと思いますけど。
| ||||||||
|
投稿日時: 2005-02-03 11:31
↑コピペミス(^^;
×tbl.Rows.Add(m_tbl.NewRow) ○tbl.Rows.Add(tbl.NewRow) ついでに。
Excelとテキストエディタを組み合わせても似たようなことができます。 Excelで可変にしたいとこだけ別セルにしといて、ドラッグで連番にする。 固定のとこはドラッグでコピーする。 その後全セルを選択してテキストエディタにコピペし、一括置換でTabを削る。 正規表現の置換と組み合わせると、色々応用がききます。 | ||||||||
|
投稿日時: 2005-02-03 22:26
objArry.Add(TextBox1) objArry.Add(TextBox2) objArry.Add(TextBox3) などとしておいて、だ〜〜っとドラッグすれば数字のとこだけ変わりますね(…確か)。 この行を縦に選択してソースに貼れば改行も入りますね。あ、 objHash.Add("TextBox0",TextBox0) 上記のように数字が2箇所ある場合はどうだったかな・・
DataTableやDataSetを作れます。自分でデータを詰め込んでくイメージですね。 |