Creating control from 'control array?'

风流意气都作罢 提交于 2019-12-11 03:51:26

问题


I have an array of picture boxes as so:

    Dim pieces(500) As PictureBox
    pieces(1) = New PictureBox
    With pieces(1)
        .CreateControl()
        .Visible = True
        .BackColor = Color.Red
        .Width = 50
        .Height = 50
        .Left = 50
        .Top = 50
    End With

The program does not crash or anything, but the picturebox is no where to be seen on the form. How to I make this work correctly?

And is 'Control Array' the correct term for this? or something else?


回答1:


It won't show up until you add those PictureBoxes to a form.

I suppose you already have a Windows Form, so all you have to do is: Window.Controls.Add(PictureBox)

Supposing your form object is called "Window"

You need to add them one by one and they don't need to be on an array, that's why there's a Control collection inside the Windows Form

Control Array is a VB 6 term, is not used in .NET anymore. The programming model between .NET and VB 6 is very different, you should take the time to go through a good tutorial or good book.




回答2:


You need to add it to the form or panel where you want it/them displayed.

CreateControl only creates children and forces the creation of the control's Handle, but it will not place it onto the a form or parent control (it wouldn't know what to add it too!).



来源:https://stackoverflow.com/questions/5925693/creating-control-from-control-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!