读书人

[救命].NET和VB做同样的动作为什么性

发布时间: 2011-12-28 22:45:21 作者: rapoo

[救命].NET和VB做同样的动作,为什么性能相差那么大?(MouseMove拖动一个控件)■■■■■■
我在MouseMover事件中拖动一个PictureBox,同时改变10个Label的Text
(1)VB中Label显示特别流畅,cpu使用率 <20%
(2).net中只有前几个Label可以正常显示,后几个反应特别慢,cpu使用率100%

同样的操作,都是改变PictureBox.left和Top.

我正在做一个图形控件,有大量的图形重叠和拖动,
谁有这方面的经验,请帮帮我.

MSN:ssrwf@hotmail.com
QQ:5292344
星期一到星期五在线

[解决办法]
sf
[解决办法]
代码问题,.net不可能性能差到这个地步,可能是VB6.0代码升级后存在一些问题.

[解决办法]
除非你用绘制的方法,否则.Net的Label是极低的效率来实现的Object,而不再是绘制出来的。

而且——.Net里面控件一旦多了,不管是什么控件,效率都会比VB低上一大截的。
[解决办法]
是啊是啊,这就是全面的代价
[解决办法]
.Net的效率问题——一直是困扰程序员的一个点
[解决办法]
表用控件,自己画好了~
[解决办法]
慢慢就会好起来了
[解决办法]
以下是我的代,有像主的,算。
另外我主的代有些地方不是很明白:Label1.Text = .Left & " " 和Label4.Text = .Left & " " label示的容是一的,是不是主以有化呢?

Public Class Form1
Dim X As Integer
Dim Y As Integer

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

End Sub

Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
x = e.X
Y = e.Y
End Sub

Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
With PictureBox1
.Left = .Left + e.X - x
.Top = .Top + e.Y - Y
Label1.Text = .Left
Label2.Text = .Top
End With
End If
End Sub
End Class

读书人网 >VB Dotnet

热点推荐