C#删除对应坐标的小圆点

Dancy的纸飞机 发布于 2013/09/16 12:31
阅读 253
收藏 0

我的界面有一个pictureBox和一个listBox,我想实现的功能是在pictureBox上用鼠标点击后, 会出现小圆点,  listBox会记录小圆点的坐标,双击listBox里面的坐标,对应的小圆点会消失。

出现小圆点,记录坐标,这两个已经实现了,现在遇到的问题就是,双击ListBox里的坐标,怎么把pictureBox里的小圆点消除呢?

希望各位大神能指点一二。谢谢!

 public partial class Form1 : Form

    { 
        List<Point> m_lsPoints;
        public Form1()
        {
            InitializeComponent();
            m_lsPoints = new List<Point>();
        }


        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            Graphics g = ((PictureBox)sender).CreateGraphics();
            g.FillEllipse(Brushes.Black, e.X, e.Y, 4, 4);
            Point pt = new Point(e.X, e.Y);
            m_lsPoints.Add(pt);
            listBox1.Items.Add(string.Format("({0},{1})", e.X.ToString(), e.Y.ToString()));
        }


        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            foreach (Point pt in m_lsPoints)
            {
                g.FillEllipse(Brushes.Black, pt.X, pt.Y, 4, 4);
            }
        }


        private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            listBox1.Items.Remove(listBox1.SelectedItem);
        }
    }
加载中
0
Finlay
Finlay
在小圆点出现之前,用一个局部变量将 pictureBox内容保存。双击ListBox里的坐标,用保存局部变量恢复pictureBox的内容。
Dancy的纸飞机
Dancy的纸飞机
这个我慢慢研究一下~谢谢~
0
真幻的现实
真幻的现实
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) 
        { 

            listBox1.Items.Remove(listBox1.SelectedItem); 

            m_lsPoints.Remove((Point)listBox1.SelectedItem); 

            pictureBox1.Refresh();

        } 

如果不是refresh,那么可能是invalidate之类的强迫控件刷新的方法

Dancy的纸飞机
Dancy的纸飞机
有点意思~谢谢~
返回顶部
顶部