トップ回答者
Panelにピクチャーボックスをコントロール配列を作る

質問
回答
-
単に親をPanel1するだけでしょう。(Controls.AddRangeの対象がMe.Panel1)
[DOBON.NET]コントロールの配列を作成する
http://dobon.net/vb/dotnet/control/buttonarray.html -
配列の要素をNewしてからAddRangeしないとだめなのでは?
つまり
Me.FImage = New System.Windows.Forms.PictureBox(100) {}
For i = 0 To 100
Me.FImage(i) = New System.Windows.Forms.PictureBox
Next
Me.Panel1.Controls.AddRange(Me.FImage)※Form1にTabcontrol1がありTabPage2の中にpanel1があります。
その中にピクチャーボックスのコントロール配列を生成したいのですが、下記のような
コードはダメですか。いちいちMeの中のTabcontrol1のTabpages(1)のPanel1の中
という指定は不要で単にMe.Panel1でいいのでしょうか。
Panel1でいいと思う。
(Me.TabControl1.TabPages(1)と指定していくと、TabePageコントロールにはPanel1という
プロパティがあるわけではない。(Panel1というコントロールを持っているだけなのでFindうんたらで探すのかな))
すべての返信
-
単に親をPanel1するだけでしょう。(Controls.AddRangeの対象がMe.Panel1)
[DOBON.NET]コントロールの配列を作成する
http://dobon.net/vb/dotnet/control/buttonarray.html -
100個のPictureBoxコントロール配列を作るため以下のようにしました
作成場所はフォームにタブコントロールがあり、その2番目のタブにパネルがあり、その中に入れたいです
Me.FImage = New System.Windows.Forms.PictureBox(100) {}
Me.Panel1.Controls.AddRange(Me.FImage) ここで100個のPictureboxがFImageというコントロール名で配置されるのですか
Filename ="C:\TEST.JPG"
FImage(i).Image = Image.FromFile(Filename) この行でNEWキーワードがいるとエラーがありますがなんのことかわかりません。
NEWを使って最初の行で宣言していると思うのですが、ダメなんですか。
-
エラーはなくなりましたが、画像が映っていません。コードは下のようにしました。
どこが間違っているでしょうか。
Private FImage() As System.Windows.Forms.PictureBox
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.FImage = New System.Windows.Forms.PictureBox(100) {}
Me.Panel1.Controls.AddRange(Me.FImage)
※Form1にTabcontrol1がありTabPage2の中にpanel1があります。
その中にピクチャーボックスのコントロール配列を生成したいのですが、下記のような
コードはダメですか。いちいちMeの中のTabcontrol1のTabpages(1)のPanel1の中
という指定は不要で単にMe.Panel1でいいのでしょうか。
Me.TabControl1.TabPages(1).Panel1.Controls.AddRange(Me.FImage)
上のコードをMe.Panel1にしたらエラーはないですが、画像が出ていないです。
Dim Filename As StringFImage(0) = New System.Windows.Forms.PictureBox
Filename = "d:\デジカメ\File00001.JPG"
FImage(0).Image = Image.FromFile(Filename)
FImage(0).Left = 0
FImage(0).Visible = True
-
配列の要素をNewしてからAddRangeしないとだめなのでは?
つまり
Me.FImage = New System.Windows.Forms.PictureBox(100) {}
For i = 0 To 100
Me.FImage(i) = New System.Windows.Forms.PictureBox
Next
Me.Panel1.Controls.AddRange(Me.FImage)※Form1にTabcontrol1がありTabPage2の中にpanel1があります。
その中にピクチャーボックスのコントロール配列を生成したいのですが、下記のような
コードはダメですか。いちいちMeの中のTabcontrol1のTabpages(1)のPanel1の中
という指定は不要で単にMe.Panel1でいいのでしょうか。
Panel1でいいと思う。
(Me.TabControl1.TabPages(1)と指定していくと、TabePageコントロールにはPanel1という
プロパティがあるわけではない。(Panel1というコントロールを持っているだけなのでFindうんたらで探すのかな))