Visual Basic Power Pack - PullRequest
       15

Visual Basic Power Pack

2 голосов
/ 26 ноября 2011

Я использую Visual Studio 2010, я хочу создать несколько OvalShapes из VB PowerPacks в приложении Windows Form C #, но я не хочу перетаскивать их из панели инструментов, а хочу создать их вручную, проблема в том, чточто если я объявил их как переменные, они не будут отображаться в форме, как я могу их сделать, спасибо ...

Код:

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... 
    } 
   } 
 }

1 Ответ

3 голосов
/ 26 ноября 2011

То, что вы хотите, выглядит примерно так:

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
        }
    }
}
...