代码:
- <p>using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.IO;</p>
- <p>namespace TestKeyPress
- {
- public partial class Form2 : Form
- {
- public Form2()
- {http://www.kmnk03.com/hxpfk/bptx/349.html
- InitializeComponent();
- }</p>
- <p>
- private void textBox1_DragEnter(object sender, DragEventArgs e)
- {
- e.Effect = DragDropEffects.Copy;
- }</p>
- <p> private void textBox1_DragDrop(object sender, DragEventArgs e)
- {http://www.kmnk03.com/hxpfk/bptx/350.html
- //DataFormats.FileDrop确定你拖动过去的是文件回或者文件夹
- if (e.Data.GetDataPresent(DataFormats.FileDrop))
- {
- string realpath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
- //从拖动数据里得到路径
- //MessageBox.Show(realpath);测试路径
- string p = Path.GetExtension(realpath);
- //MessageBox.Show(p);测试路径
- if (p == ".jpg")
- {http://www.kmnk03.com/hxpfk/bptx/351.html
- //StreamReader sr = new StreamReader(realpath);读取方式,放弃使用
- Image im = Image.FromFile(realpath);
- int h = im.Height;
- int w = im.Width;
- this.pictureBox1.Height = h;
- this.pictureBox1.Width = w;
- this.pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
- this.pictureBox1.BackgroundImage = im;
- //将读取到的图片放到picturebox里
- //this.pictureBox1.Location = new Point(130 - pictureBox1.Width, 85 - pictureBox1.Height);
- Point pnl = new Point(this.panel1.Width / 2, this.panel1.Height / 2);
- Point pic = new Point();http://www.kmnk03.com/hxpfk/bptx/352.html
- pic.X = pnl.X - pictureBox1.Width / 2;
- pic.Y = pnl.Y - pictureBox1.Height / 2;
- this.pictureBox1.Location = pic;
- //上面的代码是将图片的中心和panel的中心对齐
- //this.pictureBox1.Location = new Point(85 ,76);
- }
- }
- else
- {http://www.kmnk03.com/hxpfk/bptx/353.html
- MessageBox.Show("please select jpg");
- }
- //MessageBox.Show(e.Data.GetType().ToString());
- }
- //放大功能
- private void button1_Click(object sender, EventArgs e)
- {
- Image im = this.pictureBox1.BackgroundImage;
- //im.Mhttp://www.kmnk03.com/hxpfk/bptx/354.html
- pictureBox1.Height = (int)(pictureBox1.Height * 1.2);
- pictureBox1.Width = (int)(pictureBox1.Width * 1.2);
- Point pnl = new Point(this.panel1.Width / 2, this.panel1.Height / 2);
- Point pic = new Point();
- pic.X = pnl.X - pictureBox1.Width / 2;
- pic.Y = pnl.Y - pictureBox1.Height / 2;
- this.pictureBox1.Location = pic;
- }
- //缩小功能
- private void button2_Click(object sender, EventArgs e)
- {http://www.kmnk03.com/hxpfk/bptx/355.html
- Image im = this.pictureBox1.BackgroundImage;
- //im.M
- pictureBox1.Height = (int)(pictureBox1.Height * 0.85);
- pictureBox1.Width = (int)(pictureBox1.Width * 0.85);
- Point pnl = new Point(this.panel1.Width / 2, this.panel1.Height / 2);
- Point pic = new Point();
- pic.X = pnl.X - pictureBox1.Width / 2;
- pic.Y = pnl.Y - pictureBox1.Height / 2;
- this.pictureBox1.Location = pic;
- }
- private Point start;
- private Point end;http://www.kmnk03.com/hxpfk/bptx/356.html
- //下面的函数实现,图片在panel里可以拖动
- private void panel1_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Left)
- {
- start = new Point(e.X, e.Y);
- end = start;
- }
- }
- private void panel1_MouseUp(object sender, MouseEventArgs e)
- {http://www.kmnk03.com/hxpfk/bptx/358.html
- end = new Point(e.X, e.Y);
- int picx = this.pictureBox1.Location.X;
- int picy = this.pictureBox1.Location.Y;
- picx += end.X - start.X;
- picy += end.Y - start.Y;
- this.pictureBox1.Location = new Point(picx, picy);
- http://www.kmnk03.com/hxpfk/bptx/362.html
- }
- }
- }</p>
- kmnk03.com
- www.kmnk03.com
数据拖动,主要是在接受数据的地方添加DragEnter和DragDrop事件,必须将接受数据的地方设置为AllowDrop=true,如果在一个窗体内拖动,选择数据的地方也要设置AllowDrop=true,
0 0