作者icybleach (覚醒多面体)
看板C_Sharp
标题Re: [问题] 关於动态物件的EventHandler
时间Mon Apr 21 18:44:09 2008
在我自以为问题已解决之後
又出现新问题了
我将新产生的控制项加入父控制项的Controls之後
pbMain.Controls.Add((
PictureBox)NodePic[count - 1]);
PictureBox pbMain 主要的Demo物件
ArrayList NodePic 存放所有Node图片及位置的
ArrayList(内容为
PictureBox)
int count 计算目前Node个数
节点就画不出来了…
我是将图片放入ImageList中
当新PictureBox产生的时候 把imageList中的图片摆入新PictureBox的image中
但是也无法显示
所以我用另一个方法
this.imageList.Draw(g, pb.Location, 0);
也就是用imageList的Draw方法 把图画在新PictureBox的位置上
但是当我把控制项放入父控制项的Control中之後
图就不见了…
我想再找回我的图="=
麻烦各位了 谢谢
以下为Code
============================================================================
在pbMain上点一下之後
PictureBox pb =
new PictureBox();
pb.Location = 滑鼠点击位置
pb.MouseMove +=
new MouseEventHandler(pb_MouseMove);
Pics = pb;
//Pics是之前宣告的object
NodePic.Add(Pics);
//NodePic是ArrayList的名称,把新Node加入ArrayList
移动节点时
private void pb_MouseMove(
object sender,
MouseEventArgs e)
{
if (e.Button ==
MouseButtons.Left && btnDN_clidcked !=
true)
//当滑鼠按到节点上且不在绘入节点状态时
{
PictureBox pTemp;
pTemp = (
PictureBox)sender;
pTemp.Location =
new Point(e.X - 18, e.Y - 18);
//把PictureBox的位置移到目前滑鼠座标左上角各减18的位置
//因为图片大小是 36 x 36…
btnSetValue_Clicked =
true;
//另一个thread画图的条件
//因为我希望在移动节点时会做出移动的效果
//也就是节点会跟着滑鼠跑
}
}
--
行かなくても俺は死のうんだよ。
俺にはな、心脏より大事な器官があるんだよ、そいつは见えないが、
确かに俺のどたまから股间を真っ直ぐにぶち拔いて俺の中に存在する。
そいつがあるから、俺は真っ直ぐ立っておれる、
フラフラしても真っ直ぐ步いていける。
ここで立ち止まったら、そいつは折れちまうさ…魂が折れちまうんだよ。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.18.75
※ 编辑: icybleach 来自: 163.22.18.75 (04/21 18:46)