HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > コントロール > PowerPacks2.0 Tips メニュー

06.Shapeコントロールの動的追加

UPDATE:2007/09/02 

<< 前のTips  次のTips >>

 

 実はシェイプコントロールはツールボックスからドラッグ&ドロップしたとき、フォームに直接追加されるわけではありません。

 ドラッグ&ドロップを行うと、自動でShapeContainerが追加され、その上に貼り付けられます。

 プログラムから動的に追加を行うには
1. シェイプコントロールを表示するにはSahpeContainerが必要
2. シェイプコントロールの親をShapeContainerにする
3. SapeContainerの親をFormにする

C#でPower Packs 2.0を使用するには、参照設定でMicrosoft.VisualBasic.PowerPacksを追加します。

 
サンプル
private void Form1_Load(object sender, EventArgs e)
{
    //1 シェイプコントロールを表示するにはSahpeContainerが必要
    Microsoft.VisualBasic.PowerPacks.ShapeContainer canvas = 
        new Microsoft.VisualBasic.PowerPacks.ShapeContainer();

    Microsoft.VisualBasic.PowerPacks.RectangleShape rec = 
        new Microsoft.VisualBasic.PowerPacks.RectangleShape();
    rec.FillColor = System.Drawing.SystemColors.ControlDark;
    rec.FillGradientColor = System.Drawing.Color.Maroon;
    rec.FillGradientStyle = Microsoft.VisualBasic.PowerPacks.FillGradientStyle.None;
    rec.FillStyle = Microsoft.VisualBasic.PowerPacks.FillStyle.Wave;
    rec.Location = new System.Drawing.Point(10, 10);
    rec.Name = "RectangleShape1";
    rec.Size = new System.Drawing.Size(100, 100);

    //2. シェイプコントロールの親をShapeContainerにする
    rec.Parent = canvas;

    //3. SapeContainerの親をFormにする
    canvas.Parent = this;
}