c#当你悬停鼠标时,从一系列的图片框中移动图片框

时间:2015-06-10 01:06:47

标签: c# wpf mouse picturebox

我正在使用C#窗体。我有一个图片框数组,显示在表单上。阵列的大小为13,它们并排排列。我怎样才能做到这一点,当我点击一个图片框时,它会被提升,让我们说y +上的+20。 我的代码制作图片框。 pb1和p1在

之上声明
void 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;
        }
    }

3 个答案:

答案 0 :(得分:1)

您可以尝试在Picturebox上添加Click事件,然后可以在Click功能上尝试此代码。

您可以使用Top propery操作位置。

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);

以下是将EventHandler添加到图片框的方式。

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
}

然后你可以使用我上面提供的代码。

答案 1 :(得分:0)

您可以使用PictureBox.Top属性尝试Anchor属性 或使用PictureBox.Location

答案 2 :(得分:0)

您可以注册PictureBox's'点击'事件,按所需金额调整'保证金'属性