Winform窗体学习笔记 第十五篇 PictureBox 类

1. 表示用于显示图像的 Windows 图片框控件。

2. PictureBox 属性:

  • SizeMode:改变显示图片的方式,存在一个PictureBoxSizeMode枚举。
    AutoSize,CenterImage,Normal,StretchImage(变形),Zoom(缩小)。
  • BorderStyle:指示控件的边框样式。
  • BackColor:获取或设置控件的背景色。指定为透明色。
    pbox.BackColor = Color.Transparent;
  • Image:获取或设置由 PictureBox 显示的图像。
  • ErrorImage:获取或设置在图像加载过程中发生错误时,或者图像加载取消时要显示的图像。
  • ImageLocation:获取或设置要在 PictureBox 中显示的图像的路径或 URL。
  • InitialImage:获取或设置在加载主图像时显示在 PictureBox 控件中的图像。
  • Location:获取或设置该控件的左上角相对于其容器的左上角的坐标。
  • Size:获取或设置控件的高度和宽度。
    代码:pbox.Size = new System.Drawing.Size(20, 18); 
  • SizeMode:指示如何显示图像。
    StretchImage(完全填充)、AutoSize(正常大小显示)、CenterImage(显示图像的中心部分)、Zoom(缩小或放大完全显示)

3. PictureBox 方法:Winform窗体学习笔记 第十五篇 PictureBox 类_第1张图片

  • Load(String):通过路径调用图片。

4. PictureBox 事件:

  • MouseClick:在鼠标单击该控件时发生。
    参数中含有MouseEventArgs e,e可以获取X,Y的值!
    代码:Point myPT = new Point(e.X, e.Y);
  • Click:不具有上面的功能。

※ Properties\Resources.resx可以存储图片资源文件,也可以直接调用。如右图所示:

复制代码

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;

namespace DrawPeachBlossom
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int flag = 0;//定义一个标识,用来标识画桃花的哪个部分
        private void pictureBox2_Click(object sender, EventArgs e)
        {
            flag = 0;//标识绘制花骨朵
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            flag = 1;//标识绘制花蕾
        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {
            flag = 2;//标识绘制开花效果
        }

        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Point myPT = new Point(e.X, e.Y);//获取鼠标单击位置
            PictureBox pbox = new PictureBox();//实例化PictureBox控件
            pbox.Location = myPT;//指定PictureBox控件的位置
            pbox.BackColor = Color.Transparent;//设置PictureBox控件的背景色
            pbox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;//设置PictureBox控件的图片显示方式
            switch (flag)//判断标识
            {
                case 0:
                    pbox.Size = new System.Drawing.Size(20, 18);//设置PictureBox控件大小
                    pbox.Image = Properties.Resources._2;//设置PictureBox控件要显示的图像
                    break;
                case 1:
                    pbox.Size = new System.Drawing.Size(30, 31);//设置PictureBox控件大小
                    pbox.Image = Properties.Resources._3;//设置PictureBox控件要显示的图像
                    break;
                case 2:
                    pbox.Size = new System.Drawing.Size(34, 30);//设置PictureBox控件大小
                    pbox.Image = Properties.Resources._1;//设置PictureBox控件要显示的图像
                    break;
            }
            if (e.Button == MouseButtons.Left)//判断是否单击了鼠标左键
            {
                pictureBox1.Controls.Add(pbox);//将PictureBox控件添加到树枝上
            }
        }
    }
}

复制代码

你可能感兴趣的:(C#)