作者fphoenix923 (Phoenix)
看板C_Sharp
标题Re: [问题] 关於座标的问题
时间Wed Dec 31 20:29:14 2008
※ 引述《teamspike (市政府7F)》之铭言:
: 问题1.
: private void Form1_MouseDown(object sender, MouseEventArgs e)
: {
: Point point = new Point(e.X, e.Y);
: }
: 可以取得滑鼠目前位於全萤幕的座标
: 则相对於可拖拉form的座标该如何取得?
: 问题2.
: 实作於form内之图型不管form如何拖拉都需画在form内一样的位置
: 只需把图形座标给draw指令即可,并不需我们手动去转换座标
: 为何不会发生拖拉form的位置而图形留在原地的情况呢?
e.X、e.Y或e.Location是form的位置。
全萤幕的位置的取得可以用this.PointToScreen(e.Location)来取得。
第二个问题,因为你是在form里面进行Draw的动作,使用的座标是form的座标,
当视窗发生了需要重绘的动作时,会通知系统来作对应的动作,
并且会使你的form发生OnPaint的事件,这时会正确的把图形画在对的地方。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.13.226