[.NET] PictureBox带入另一个PictureBox的问题

楼主: me8z7gnk (SONG-SONG)   2016-07-30 02:30:29
请输入专案类型(网站专案或者应用程式专案):
各位高手好 小弟最近写 小朋友下楼梯
在制造楼梯时 遇到了一些问题 程式码如下 第一种:
Dim pic As PictureBox() = New PictureBox(30) {}
For i = 2 To 30
pic(i) = New PictureBox() '建立物件
pic(i) = PictureBox1
Me.Panel1.Controls.Add(Me.pic(i))
pic(i).Location = New Point(0, 40*i)
Next
这样只会产生一个物件 如下图
http://i.imgur.com/ZOozffO.png
但是 如果改成下面程式码 第二种:
For i = 2 To 30
pic(i) = New PictureBox() '建立物件
pic(i).Size = PictureBox1.Size
pic(i).BackColor = PictureBox1.BackColor
Me.Panel1.Controls.Add(Me.pic(i))
pic(i).Location = New Point(0, 40*i)
Next
如下图
http://i.imgur.com/d1ytz8p.png
这样就可以产生很多物件了
第一种写法 如果要产生很多物件 要改什么?
是否要用到继承的方法?
因为小弟是新手 问的问题很混乱 抱歉
希望各位高手解惑 谢谢
作者: johnpage (johnpage)   2016-07-30 03:15:00
pic(i) = PictureBox1《=
楼主: me8z7gnk (SONG-SONG)   2016-07-30 11:46:00
j大的意思是什么 不太懂 可以稍微给点方向吗? 谢谢
作者: wolfriya (靖雷)   2016-08-09 16:27:00
不能new完一个物件后又指定该物件为既有的物件这样不管new几次会是同一个物件Picturebox因此不管循环次数几次都只会让同一个物件Picturebox移动而不会产生新的第二种是比较标准的写法,建议用第二种
楼主: me8z7gnk (SONG-SONG)   2016-08-28 13:46:00
谢谢 感恩 谢谢W大
作者: garyl62327 (garyl62327)   2016-08-30 07:18:00
我比较好奇第一种为什么宣告阵列new一次 循环又new一次?有人能跟我解释吗~
楼主: me8z7gnk (SONG-SONG)   2016-09-03 16:21:00
to g大 书上好像是写 外面的new 是宣告物件For 里面的new 是建立物件
作者: garyl62327 (garyl62327)   2016-09-04 23:58:00
我白痴了 那是阵列宣告 竟然没看出来orz我通常会打Dim pic(30) As PictureBox 之后才会像你For里面那样new出来

Links booklink

Contact Us: admin [ a t ] ucptt.com