当前位置:编程学习 > C#/ASP.NET >>

在图片框里点一下左键,执行一个drawstring咋不行咧。

想着 点一下左键,drawstring画出 鼠标的坐标


 private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            g.DrawString ("X:"+ xSignal .ToString (),new Font("宋体",10),new SolidBrush (Color .Red ),e.X,e.Y  ); 
            
        }

是不是需要重绘啊,具体要怎么做。this.Invalidate(true); --------------------编程问答--------------------  private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            g.Clear(Color.White);
            g.DrawString("X:" + e.X.ToString()+"Y"+e.Y.ToString(), new Font("宋体", 10), new SolidBrush(Color.Red), e.X, e.Y);  

        }
这样就可以 如果不要先前鼠标点击的位置就不用g.Clear(Color.White);
--------------------编程问答--------------------
引用 1 楼  的回复:
 private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            g.Clear(Color.White);
            g.DrawString("……

e.X应该是一个double类型的吧,,要是想截取小数的3位,该怎么转换。。

貌似C#的类型转换搞的 挺复杂的。。

变量前面加(类型),

convert.to...

变量.tostring...

这些个 有啥区别咧。 --------------------编程问答-------------------- 对了,,convert.toFloat 这个为啥没有呢 --------------------编程问答--------------------
        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
            g.DrawString("X:我很好", new Font("宋体", 10), new SolidBrush(Color.Red), e.X, e.Y);
        }
--------------------编程问答-------------------- 你这样画出的文字当界面最小化再最大化就消失了,最好的办法还是,找一张画布,在画布上绘制文字,然后在picturebox的Piant时间中将画布绘制到picturerbox上面 --------------------编程问答--------------------
        public Form1()
        {
            InitializeComponent();
            bmp = new Bitmap(pictureBox1.Width,pictureBox1.Height);
            g = Graphics.FromImage(bmp);
        }
        Bitmap bmp;
        Graphics g;
        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            g.DrawString("X:"+e.X, new Font("宋体", 10), new SolidBrush(Color.Red), e.X, e.Y);
            pictureBox1.Refresh();
        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawImage(bmp, new Point(0,0));
        }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,