c#在鼠标悬停时,将picturebox从一个picturebox数组中向上移动
本文关键字:picturebox 一个 数组 移动 悬停 鼠标 | 更新日期: 2023-09-27 17:54:54
我在c# windows窗体上工作。我有一个显示在表单上的picturebox数组。数组的大小是13,它们都是并排的。当我点击一个图片框的时候,它会在y方向上向上移动20。生成图片框的代码。
上面声明了pb1和p1void print_Deck(int x, int y, double[] a){
double n;
for (int i = 0; i < 13; i++)
{
pb1[i] = new PictureBox();
// pb1[1].Image = Properties.Resources.img1;
pb1[i].Visible = true;
pb1[i].Location = new Point(0, 0);
this.Size = new Size(800, 600);
pb1[i].Size = new Size(46, 65);
pb1[i].SizeMode = PictureBoxSizeMode.StretchImage;
pb1[i].Location = new Point(x, y);
n= a[i];
im = face(n);
pb1[i].Image = im;
this.Controls.Add(pb1[i]);
x = x + 20;
}
}
您可以尝试在Picturebox上添加Click事件,然后您可以在Click函数上尝试此代码。
您可以使用Top属性来操作位置。
Picturebox.Top -= 20; // move the picture box upward
或
Picturebox.Top += 20; // move the picture box downward
或者使用。location = New Point(X,Y)
Picturebox.Location = new Point(Picturebox.Location.X, Picturebox.Location.Y + 20);
下面是你如何将eventandler添加到你的图片框。
Picturebox.Click += new System.EventHandler(this.Picturebox_ClickFunction);
然后创建一个名为Picturebox_ClickFunction的函数
private void Picturebox_ClickFunction(object sender, EventArgs e)
{
PictureBox pb1 = (PictureBox)sender; // you need to cast(convert) the sende to a picturebox object so you can access the picturebox properties
}
则可以使用我上面提供的代码
你可以试试PictureBox。带有锚属性的顶部属性或者使用PictureBox.Location.
您可以注册PictureBox的'Click'事件来调整'Margin'属性所需的量