簡體   English   中英

圖片從picturebox1到picturebox2

[英]image from picturebox1 to picturebox2

我為帶有2個圖片框的1個表單制作了一個腳本,直到這里一切都很好。

如果執行以下代碼,則可以看到可以移動picturebox1並將其放入picturebox2內。 現在,我希望放下的picturebox1可以在picturebox2內部調整大小,旋轉和移動(一旦由客戶端執行)。 我環顧四周,但找不到此問題的答案。 任何幫助,我將不勝感激,謝謝

這是代碼:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    int x = 0;
    int y = 0;
    bool drag = false;
    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
        pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.Copy);
        x = e.X;
        y = e.Y;
        drag = true;
    }

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (drag)
        {
            //position new get
            pictureBox1.Top += e.Y - y;
            pictureBox1.Left += e.X - x;
        }
    }

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
        drag = false; 
    }

    private void pictureBox2_DragEnter(object sender, DragEventArgs e)
    {
        e.Effect = DragDropEffects.All;
    }

    private void pictureBox2_DragDrop(object sender, DragEventArgs e)
    {
        pictureBox2.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        pictureBox2.AllowDrop = true;
    }
}

}

為了調整圖片框的大小,您可以定義以下方法:

  private void IncreaseSize(PictureBox p,int dt)
        {
            Size size = p.Size;
            size.Height = size.Height + dt;
            size.Width=size.Width + dt;
            p.Size = size;

        }

        private void DecreaseSize(PictureBox p, int dt)
        {
            Size size = p.Size;
            size.Height = size.Height - dt;
            size.Width = size.Width - dt;
            p.Size = size;
        }

這些方法可以調用以您的主要形式決定的事件,例如:

  private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
          IncreaseSize(pictureBox1,5);
        }

 private void pictureBox2_MouseMove(object sender, MouseEventArgs e)
        {
          DecreaseSize(pictureBox2, 10);
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM