我正在使用visual studio 2010,我想在Windows Form C#Application中从VB PowerPacks创建几个OvalShapes,但我不想从工具箱中拖动它们而是想手动创建它们,问题是如果我将它们声明为变量,它们将不会出现在表单中,我怎样才能使它们出现,谢谢......
代码:
using System;
using System.Collections.Generic;
System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Microsoft.VisualBasic.PowerPacks;
using System.Windows.Forms;
namespace VB_PP
{
public partial class Form1 : Form
{
OvalShape[] OS_Arr;
public Form1()
{
InitializeComponent();
OS_Arr = new OvalShape[15]; //I will do some coding on the array of those OvalShapes,like move them with a Timer...
}
}
}
答案 0 :(得分:3)
你想要的是这样的:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.VisualBasic.PowerPacks;
namespace VBPowerPack
{
public partial class Form1 : Form
{
private ShapeContainer shapeContainer; //Container that you're gonna place into your form
private Shape[] shapes; //Contains all the shapes you wanna display
public Form1()
{
InitializeComponent();
shapes = new Shape[5]; //Let's say we want 5 different shapes
int posY = 0;
for (int i = 0; i < 5; i++)
{
OvalShape ovalShape = new OvalShape(); //Create the shape you want with it's properties
ovalShape.Location = new Point(50, posY);
ovalShape.Size = new Size(75, 25);
shapes[i] = ovalShape; //Add the shape to the array
posY += 30;
}
shapeContainer = new ShapeContainer();
shapeContainer.Shapes.AddRange(shapes); //Add the array of shapes to the ShapeContainer
this.Controls.Add(shapeContainer); //Add the ShapeContainer to your form
}
}
}