c#问题

tkandseven 2010-09-06 12:42:29
现在在form上有一个panel,在panel上添加了几个picturebox,想运行的时候可以拖动这些个picture,但是在panel的MouseDown以及MouseMove和MouseUp事件里做的画感觉不对啊,picture是动态添加到panel中的,这些MouseXX的事件应该怎么添加呢?是不是在新建一个picture的时候直接给他绑定他的MouseXX事件?
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tkandseven 2010-09-06
  • 打赏
  • 举报
回复
还有一个问题就是
protected override void OnMouseDown(MouseEventArgs e)

这个事件是不是继承某个控件的时候才写的方法?在一个panel中没有OnMouseDown事件,只有MouseDown事件。。
tkandseven 2010-09-06
  • 打赏
  • 举报
回复
已解决 谢谢。
sardineany 2010-09-06
  • 打赏
  • 举报
回复
cc_fq86 2010-09-06
  • 打赏
  • 举报
回复

private void button1_Click(object sender, EventArgs e)
{
TestPictureBox(2);
}

List<PictureBox> picList = new List<PictureBox>();
public void TestPictureBox(int count)
{
int ow = 0;
for (int i = 0; i < count; i++)
{
//创建
PictureBox p = new PictureBox();
//设置
p.Tag = p.Name = "Pic" + i.ToString();
p.Image = Image.FromFile("myPicPath" + i.ToString() + ".jpg");//指定图片
p.Size = p.Image.Size;//指定尺寸
p.Left += ow;//指定位置
ow = p.Right;
p.Show();
//添加事件
p.MouseDown += CustomPictureBox_Click;
//添加
this.Controls.Add(p); //添加到窗体
picList.Add(p); //添加到记录的列表
}
}

void CustomPictureBox_Click(object sender, EventArgs e)
{
PictureBox p = sender as PictureBox;
if (p == null) return;
MessageBox.Show(p.Name);
}
mayonglong 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuberlin 的回复:]
PictureBox pic=new PictureBox();

pic.OnMouseDown+=//按tag鍵會自動出來了

panel.Controls.Add(pic);
[/Quote]

这个是重写方法~
liuberlin 2010-09-06
  • 打赏
  • 举报
回复
PictureBox pic=new PictureBox();

pic.OnMouseDown+=//按tag鍵會自動出來了

panel.Controls.Add(pic);

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧