背景:在大多数情况下,我是自学 C#,所以如果这是一些头脑简单的问题,我深表歉意。我正在创建邮件列表的效果(每个对象都有名称、地址、联系信息等),并将在标签中打印出来(每个打印页将有两列和四行)。我在 formMain 中有一个列表,您可以在其中添加、编辑和删除单个标签,并且我有一个用于从列表中选择的单个条目的表单 printPreview(one)。
问题:我正在尝试为整个列表创建打印预览表单;为列表中的每个对象生成一个组框(包含一个文本框和图片框)——这样我就可以将标签的数量作为对象——然后用列表中每个对象的内容填充每个框。每个组框、文本框和图片框都具有特定的大小,并且将被隔开,以便每个标签之间有空间。所以这是我试图实现的伪代码;
//box[num] contains
//text box at location(6,19)
//picture box at location(222,19)
int locX = 0;
int locY = 0;
listObj = list.first;
for (int i = 0; i < list.count; i++)
{
//create box[i] at location (locX, locY);
box[i].textbox.text = listObj.text;
box[i].picturebox.image = Image.FromFile(listObj.photoLocation);
if(i%2)
{
locX+=400;
}
else
{
locY+=248;
locX=0;
}
listObj = listObj.next;
}
现在,我知道那里有很多漏洞,但我只需要基本的:如何让我的程序以等于列表中对象数量的形式创建新的组框?