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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
エルエン

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

#1

投稿記事 by エルエン » 12年前

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: レイヤーとして貼り付けた複数の画像のマウスドラッグ

#2

投稿記事 by エルエン » 12年前

説明不足だったと思うので、追記します。
二枚目を追加すると、一枚目の画像をドラッグする際に分身したりします。
三枚目を追加すると、一枚目の画像をドラッグさせると消えてしまうというものです。

エルエン

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

#3

投稿記事 by エルエン » 12年前

すみません、自己解決しました。
つーか別の方法があったので、そちらにシフトすることにしました。

閉鎖

“C言語何でも質問掲示板” へ戻る