首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

[救命].NET和VB做同样的动作,为什么性能相差那么大?(MouseMove拖动一个控件)■■■■■■解决思路

2011-12-28 
[救命].NET和VB做同样的动作,为什么性能相差那么大?(MouseMove拖动一个控件)■■■■■■我在MouseMover事件中拖

[救命].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

热点排行