标题:初学C#,遇到问题,有哪位前辈指教下
只看楼主
Gin清
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-8-5
 问题点数:0 回复次数:5 
初学C#,遇到问题,有哪位前辈指教下
程序代码:
{
    public partial class Form5 : Form
    {
        Image img;
        Graphics g;
        Pen p;
        Brush bu, bu1;
        PointF pt;



        Form1 f1;
        public Form5(Form1 f)

       
        {
            InitializeComponent();
            f1=f;
            timer1.Interval = 50;
            g = this.CreateGraphics();
            p = new Pen(Color.Black, 1.0f);
            bu = new SolidBrush(Color.White);
            bu1 = new SolidBrush(Color.Black);
            img = Image.FromFile("FlagMeterLevelProgress.png");
            pt = new PointF();
            pt.X = 0;
            pt.Y = 0;
            Font = new Font("unicode", 9.0f);






        }

        private void button1_Click(object sender, EventArgs e)
        {
            Close();
            f1.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled =true;
        }
       
        float x = 0, y = 100;
        int a = 5, b = 5;
        int sx;
        int score;


        private void timer1_Tick(object sender, EventArgs e)

        {

            g.DrawRectangle(p,0,0,300,400);
            x+=a;y+=b;
            if (x < 0) a = 5;
            if (x > 275) a = -5;
            if (y < 0) b = 5;
            if (y > 355 && x > sx && x < sx + 86 && y < 375)
            {
                b = -5;
                score += 10;
            }
            g.FillRectangle(bu, 0, 0, 300, 400);
            g.DrawRectangle(p, x, y, 20, 20);
            g.DrawImage(img, sx, 375);
            g.DrawString("Hide score;" + Convert.ToString(score), Font.Italic, bu1, pt);
        }
    }
}



请问哪里有错误,运行不起来!请高手指教


[ 本帖最后由 Gin清 于 2011-8-5 20:20 编辑 ]
2011-08-05 20:12
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
哪里有错编译器会告诉你

站在春哥的肩膀上
2011-08-06 10:58
夜殤
Rank: 2
等 级:论坛游民
帖 子:20
专家分:42
注 册:2011-8-17
得分:0 
这程序能运行,但没显示重绘出来
2011-08-17 04:05
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:0 
g不是一个有效的设备内容。

兄弟应该尝试在OnPaint事件处理下进行绘制。
而Timer只要改变一些属性,然后强制窗口重绘即可。
否则,如果窗口发生重绘,则先前绘制的图形消失。
2011-08-17 09:16
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
Graphics g的绘图面板还没指定
Graphics g=this.CreateGraphics();//在本Form上直接绘制

站在春哥的肩膀上
2011-08-17 09:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-346888-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved