在一个有背景的FORM中画两条跟随鼠标的十字线要不断的刷新才可以。这样很大的占用了CPU。能不能象在没有背景的FORM中画十字线(即画之前不用刷新)。
解决方案 »
- 这段代码是什么意思?
- 路径问题,怎样设置路径才能将创建的xml文件保存在项目中
- 获取窗体焦点
- 怎样使比自己屏幕小的截屏显示在自己屏幕中间!
- 如何用C#控制程序每隔若干时间运行一次
- 关于listview控件的使用
- 在C#如何只得到记录的条数
- 请问怎么实现ping大功能
- 求救!!!我在安装从微软网站上下载的intelp2pkit时出现了这个问题:1152:error extracting C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\_is14
- 如何在不引用的情况下动态调用一个类
- gridview 的 selectedindex问题
- 请帮解决:c#和wmi实现远程控制的安全权限问题
http://blog.csdn.net/wzuomin/archive/2006/12/13/1441007.aspx
至于绘制十字形,你就改改代码吧。
picX.Top = pictureBox1.Top + pictureBox1.Width / 2;
picY.Left = pictureBox1.Left + pictureBox1.Height / 2;
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
End Sub Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Dim p1, p2, p3, p4 As Point If OldPoint <> Nothing Then
p1 = PointToScreen(New Point(OldPoint.X, 0))
p2 = PointToScreen(New Point(OldPoint.X, Me.ClientSize.Height))
p3 = PointToScreen(New Point(0, OldPoint.Y))
p4 = PointToScreen(New Point(Me.ClientSize.Width, OldPoint.Y)) ControlPaint.DrawReversibleLine(p1, p2, Color.Cyan)
ControlPaint.DrawReversibleLine(p3, p4, Color.Cyan)
End If p1 = PointToScreen(New Point(e.X, 0))
p2 = PointToScreen(New Point(e.X, Me.ClientSize.Height))
p3 = PointToScreen(New Point(0, e.Y))
p4 = PointToScreen(New Point(Me.ClientSize.Width, e.Y)) ControlPaint.DrawReversibleLine(p1, p2, Color.Cyan)
ControlPaint.DrawReversibleLine(p3, p4, Color.Cyan) OldPoint = New Point(e.X, e.Y)
End SubEnd Class