FC2ブログ

 【C#】レイヤー機能を作る

今回はレイヤー機能を作ってみようと思います。

・使用するコントロール
pictureBox × 3 (1つはデザイナー上で追加しておき、残り2つはプログラム上で動的に追加)
checkBox × 3
Button × 1

まず初めにピクチャーボックス×1とボタン×1とチェックボックス×3をフォーム上に配置してください。
layer04.png

次のソースコードを書けば完成です。

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
//ピクチャーボックスの生成
PictureBox pictureBox2 = new PictureBox();
PictureBox pictureBox3 = new PictureBox();

//画像の読み込み
Bitmap bmp = new Bitmap(@"layer01.png");
Bitmap bmp2 = new Bitmap(@"layer02.png");
Bitmap bmp3 = new Bitmap(@"layer03.png");

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//親コントロールを設定
pictureBox2.Parent = pictureBox1;
pictureBox3.Parent = pictureBox2;
//ピクチャーボックスの背景を透過する
pictureBox1.BackColor = Color.Transparent;
pictureBox2.BackColor = Color.Transparent;
pictureBox3.BackColor = Color.Transparent;
//サイズを位置を設定
pictureBox2.Size = pictureBox1.Size;
pictureBox3.Size = pictureBox2.Size;
pictureBox2.Location = new Point(0, 0);
pictureBox2.Location = new Point(0, 0);
//画像の背景を透過する(ここでは白色)
bmp.MakeTransparent(Color.White);
bmp2.MakeTransparent(Color.White);
bmp3.MakeTransparent(Color.White);
}

private void button1_Click(object sender, EventArgs e)
{
//ピクチャーボックスに何も表示されないようにする
pictureBox1.Image = null;
pictureBox2.Image = null;
pictureBox3.Image = null;
//チェックボックスの状態を調べ画像を表示する
if (checkBox1.Checked)
pictureBox1.Image = bmp;
if (checkBox2.Checked)
pictureBox2.Image = bmp2;
if (checkBox3.Checked)
pictureBox3.Image = bmp3;
}
}
}


今回作ったプログラムでは
pictureBox1・・・親
pictureBox2・・・子
pictureBox3・・・孫
のような関係になっており、表示される際は親から子、孫という順で表示されていくので、一番上に表示されているものから順に孫、子、親というように表示されます。

最後に、Form1_loadメソッド内の処理はレイヤー機能を実装する際に一番重要な要素になると思いますので必ず忘れないようにしてください。

関連記事
【C#】pictureboxに画像を透過して表示する
【C#】 デスクトップマスコットの作り方pert1 「画像の表示」
スポンサーサイト



2013-07-15 11:38 : C# : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

プロフィール

いえひ

Author:いえひ
大阪府在住の高校生
趣味:プログラミング,サイクリング, 数学
使える言語・・・C++, C#, Python(勉強中)

ブログランキング

カウンター

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

アクセス解析

脱毛予防