ページ 11

レイヤーとして貼り付けた複数の画像のマウスドラッグ

Posted: 2014年5月04日(日) 23:21
by エルエン
c#でひとつのpictureboxに配列を使って複数の画像を貼り付けて、それをpicturebox内でマウスドラッグさせようと思い、ここの過去ログも参考にさせていただいたのですが、二枚目以降の画像をドラッグさせると挙動不審になってしまいます。
どうすれば修正できるのか、よろしければアドバイスをお願いします。

コード:

List<PictureBox> menucard = new List<PictureBox>();

switch (normalCardMenu1.DialogResult)
            {
                case DialogResult.OK:
                    Bitmap menuImage = new Bitmap("aaa.png");

                    PictureBox mc = new PictureBox();
                    mc.BackColor = Color.Transparent;
                    mc.Width = 50;
                    mc.Height = 50;
                    mc.BackgroundImage = Image.FromFile("bbb.png");
                    mc.Image = menuImage;
                    mc.Parent = areaBackPicture;
                    menucard.Add(mc);

                    //イベントハンドラ関連付け
                    for (int i = 0; i < menucard.Count; i++)
                    {
                        menucard[i].MouseMove += new MouseEventHandler(menuCard_MouseMove);
                    }
                    break;
                case DialogResult.Cancel:
                    break;
            }

void menuCard_MouseMove(object sender, MouseEventArgs e)
        {
            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
            {
                PictureBox pbx = (PictureBox)sender;
                pbx.Location = new Point(pbx.Location.X + e.X, pbx.Location.Y + e.Y);
                pbx.Refresh();
            }
        }


Re: レイヤーとして貼り付けた複数の画像のマウスドラッグ

Posted: 2014年5月05日(月) 21:26
by エルエン
説明不足だったと思うので、追記します。
二枚目を追加すると、一枚目の画像をドラッグする際に分身したりします。
三枚目を追加すると、一枚目の画像をドラッグさせると消えてしまうというものです。

Re: レイヤーとして貼り付けた複数の画像のマウスドラッグ

Posted: 2014年5月07日(水) 21:37
by エルエン
すみません、自己解決しました。
つーか別の方法があったので、そちらにシフトすることにしました。