C#中如何实现拖动PictureBox控件
|
admin
2024年10月22日 16:41
本文热度 566
|
在 Windows 窗体应用程序中显示图片时要使用图片控件 ( PictureBox ),图片的设置方式与背景图片的设置方式相似。
图片控件中常用的属性如下表所示。
属性名 | 作用 |
---|
Image | 获取或设置图片控件中显示的图片 |
ImageLocation | 获取或设置图片控件中显示图片的路径 |
SizeMode | 获取或设置图片控件中图片显示的大小和位置,如果值为 Normal,则图片显不在控件的左上角;如果值为 Stretchimage,则图片在图片控件中被拉伸或收缩,适合图片的大小;如果值为AutoSize,则控件的大小适合图片的大小;如果值为 Centerimage,图片在图片控件中居中;如果值为 Zoom,则图片会自动缩放至符合图片控件的大小
|
思路是这样的,得有三个变量:
记录x坐标: int xPos;
记录y坐标: int yPos;
记录是否按下鼠标: bool MoveFlag;
//在picturebox的鼠标按下事件里,记录三个变量.
private void picBox_MouseDown(object sender, MouseEventArgs e)
{
MoveFlag = true;//已经按下.
xPos = e.X;//当前x坐标.
yPos = e.Y;//当前y坐标.
}
//在picturebox的鼠标按下事件里.
private void picBox_MouseUp(object sender, MouseEventArgs e)
{
MoveFlag = false;
}
//在picturebox鼠标移动
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
if (MoveFlag)
{
picBox.Left += Convert.ToInt16(e.X - xPos);//设置x坐标.
picBox.Top += Convert.ToInt16(e.Y - yPos);//设置y坐标.
}
}
这样就可以实现控件在容器里的移动。
该文章在 2024/10/23 9:40:05 编辑过