一个奇怪的问题PictureBox
请教!我在一个对话框里面,放了两个PictureBox,两个响应的内容大体一样,就是对自各单击的
点画X。
两个都让他们响应了各各自的Paint事件,
如下:
private void RefAoiPicBox_Paint(object sender, PaintEventArgs e)
{
//在此设置了断点根本没有执行到这里,为什么?
Point tmpPtimg = new Point(0, 0);
Point tmpPtwin = new Point(0, 0);
Graphics tmpGc;
if (m_bmpRef == null)
return;
this.RefAoiPicBox.Image = (Image)m_bmpRef;
tmpGc = Graphics.FromImage((Bitmap)this.RefAoiPicBox.Image);
for (int i = 0; i < m_ptsRef.Count; i++)
{
tmpPtimg.X = ((Point)m_ptsRef[i]).X;
tmpPtimg.Y = ((Point)m_ptsRef[i]).Y;
tmpPtwin.X = this.RefAoiPicBox.Width * (tmpPtimg.X - m_rectRefAoi.Left) / m_rectRefAoi.Width;
tmpPtwin.Y = this.RefAoiPicBox.Height * (tmpPtimg.Y - m_rectRefAoi.Top) / m_rectRefAoi.Height;
tmpGc.DrawLine(new Pen(colors[3], 2), new Point(tmpPtwin.X - 3,
tmpPtwin.Y - 3), new Point(tmpPtwin.X + 3, tmpPtwin.Y + 3));
tmpGc.DrawLine(new Pen(colors[3], 2), new Point(tmpPtwin.X + 3,
tmpPtwin.Y - 3), new Point(tmpPtwin.X - 3, tmpPtwin.Y + 3));
}
if (tmpGc != null)
tmpGc.Dispose();
}
private void DefAoiPicBox_Paint(object sender, PaintEventArgs e)
{
//可是当我把这里内容注释之后,上面的内容就能够执行了。
Point tmpPtimg1 = new Point(0, 0);
Point tmpPtwin1 = new Point(0, 0);
Graphics tmpGc1;
if (m_bmpDef == null)
return;
this.DefAoiPicBox.Image = (Image)m_bmpDef;
tmpGc1 = Graphics.FromImage((Bitmap)this.DefAoiPicBox.Image);
for (int i = 0; i < m_ptsDef.Count; i++)
{
tmpPtimg1.X = ((Point)m_ptsDef[i]).X;
tmpPtimg1.Y = ((Point)m_ptsDef[i]).Y;
tmpPtwin1.X = this.DefAoiPicBox.Width * (tmpPtimg1.X - m_rectDefAoi.Left) / m_rectDefAoi.Width;
tmpPtwin1.Y = this.DefAoiPicBox.Height * (tmpPtimg1.Y - m_rectDefAoi.Top) / m_rectDefAoi.Height;
tmpGc1.DrawLine(new Pen(colors[3], 2), new Point(tmpPtwin1.X - 3,
tmpPtwin1.Y - 3), new Point(tmpPtwin1.X + 3, tmpPtwin1.Y + 3));
tmpGc1.DrawLine(new Pen(colors[3], 2), new Point(tmpPtwin1.X + 3,
tmpPtwin1.Y - 3), new Point(tmpPtwin1.X - 3, tmpPtwin1.Y + 3));
}
if (tmpGc1 != null)
tmpGc1.Dispose();
}
搞不清楚 为什么?
请各位大侠指教!
多谢!
--------------------编程问答-------------------- 说了半天也没见你提出个具体问题,是怎么回事吗? --------------------编程问答-------------------- 请多关注,谢谢! --------------------编程问答-------------------- 不明白你说什么,难道你把两个pic摞起来了?? --------------------编程问答-------------------- 就是两个PictureBox_Paint的问题,
只有一个能够执行,另一个不能执行。。。
然后把下面那段注释掉,上面的就能够执行了。搞不清楚为什么!
而且一般情况都是执行下面的那段! --------------------编程问答--------------------
没有,两上Picturebox 是分开的,都放在一个对话框上
--------------------编程问答-------------------- 我做了一个简单的测试的例子,可以的呀,为什么实际的程序里不行呢?有什么可能的原因吗?大家指点一下!
补充:.NET技术 , C#