C#窗口程序中输入坐标画点的问题

通过文本框输入坐标,点击“确定”按钮从而在picturebox中的图片上显示一点,当再输入一个新坐标点“确定”后,怎么清除旧的点,只保留新做的点?... 通过文本框输入坐标,点击“确定”按钮从而在picturebox中的图片上显示一点,当再输入一个新坐标点“确定”后,怎么清除旧的点,只保留新做的点? 展开
 我来答
百度网友1c6e06f
2014-02-11 · TA获得超过2894个赞
知道小有建树答主
回答量:695
采纳率:66%
帮助的人:659万
展开全部
        Point m_Pnt;
        public Form1()
        {
            InitializeComponent();

            m_Pnt = new Point( -1, -1 );
            pictureBox1.MouseClick += new MouseEventHandler(pictureBox1_MouseClick);
            pictureBox1.Paint += new PaintEventHandler(pictureBox1_Paint);
        }

        void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            // 这里模仿文本框修改坐标点,同时刷新下picturebox,鼠标点哪里,哪里就会画一个红点
            m_Pnt = e.Location;
            pictureBox1.Invalidate();
        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.FillEllipse( Brushes.Red, m_Pnt.X - 2, m_Pnt.Y - 2, 5, 5 );
        }
我DE小店铺
2014-02-11 · 超过24用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:57.2万
展开全部
用Bitmap做一个Buffer就可以了,代码如下:

Bitmap bitmap = null;
private void button1_Click(object sender, EventArgs e)
{
int X = int.Parse(textBox1.Text);
int Y = int.Parse(textBox2.Text);
Bitmap buff = (Bitmap)bitmap.Clone();
buff.SetPixel(X, Y, Color.Red);
pictureBox1.Image = buff;
}

private void Form1_Load(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() != DialogResult.OK) return;
bitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
pictureBox1.Image = (Bitmap)bitmap.Clone();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-11
展开全部
把picurebox重新刷新加载呗。
追问
代码怎么写呢,我刚开始学的,很多都不懂。。。多谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式