50像素约等于1厘米。
50像素约等于1厘米。
designer里面放设计相关的代码, 窗体的设计,外观。
Form1.resx里面放业务相关的代码。
Update
墙体布置不理解
Abort() 关闭线程
类型转换:
1.强制类型转换
数据存不下的时候会溢出
2.自动类型转换
小类型可以自动转换为大类型。大类型不能自动转换成小类型
Father声明的对象只能调用Father内的函数
Father f=new Father;
Son s=(Son)f;不能运行
Father f=new Son;
Son s=(Son)f;能运行
//f是按战斗机Son构造的,但我们当客机Father用,实际上还是有战斗机的功能,也能当客机,但按客机构造只能做客机
thread 多线程
创建子线程第一步:ThreadStart start
ThreadStart
第二步:Thread childFThread =线程对象:new Thread(Start) ;
启动线程通过:childThread.Start();
一步创建:Thread childThread = new Thread(new ThreadStart(执行方法));
1.Alt+Enter 调出错误提示
2.线程:程序运行起来,所有程序的通道.Main在主线程中执行的.
怎么知道程序在那个线程?
using System.Threading;
Thread t=Thread.CurrentThread;
t.Name="MainThread";//主线程
t.Name//获取线程的名字
3.单线程:干一件事
多线程:同时干多件事
4.开启线程
17:20看到老师把update里面的base删了 就知道画不出来了 哈哈哈哈
而且计时器好像还没清空来着
22:10 忘记一开始计数器给的是-1了 哈哈哈
关于子弹列表错误的解决方法
Width = bmp.Width;
Height = bmp.Height;
报错,13:10左右
线程暂停:
Thread.Sleep(1);
线程终止:
childThread.Abort();
创建线程:
方法一:
ThreadStart start = new ThreadStart(ChildThreadMethod);//线程执行方法;
Thread childThread = new Thread(start);
childThread.Start();
方法二:
Thread childThread = new Thread(new ThreadStart(ChildThreadMethod));
childThread.Start();
as :类的转换
转换失败不会报错,会返回null
窗体原点在左上角 x横向 y纵向
Graphics g=this.CreateGraphics();
//创建画布,大小为窗体大小
Pen p=new Pen(Color.Black);
//创建一个画笔 ,颜色是黑色
g.Drawline(笔,起点(x,y),终点(x,y));
画一条线
多线程:程序是在线程里面运行,main函数在主线程
using System.Theading//命名空间
//创建线程
Thread t=Thread.CurrentThread;//获取当前线程
t.Nam="MainThread"// 设置线程名字
解:线程可以让电脑在同一线程干多个事
ThreadStart start=new TheradStart(方法名);
//设置线程调用的方法
静态方法:可以通过类调用
普通方法:只能通过对象调用