[VB.NET]form初始化事件的解决方法,高手请进...
2008-12-29 22:17
399 查看
<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
form初始化事件的解决方法,高手请进...
之前我在一个窗体初始化的时候加载一幅地图,因为地图很大,所以等好久窗体才出来,现在我想先把窗体show出来再加载地图,有办法作到吗?在vb.net里是不是有show之后的事件?请高手指教,谢谢!
__________________________________________________________________________
接分,顶
__________________________________________________________________________
我也顶下,vs2003没有shown事件...可我用的是vs2003...
__________________________________________________________________________
急了,在线等...
__________________________________________________________________________
在 form 的load事件中,先
me.show
然后再加载地图
或者用多线程
__________________________________________________________________________
楼上说的是!但me.show效果可能不会太好,继续加油哦!
__________________________________________________________________________
学习...
__________________________________________________________________________
以前看过一本教程,上面说可以写几个线程,将FORM的加载和地图的加载隔离开来,但是它上面没有给出例子。
等待楼下的正解...........
__________________________________________________________________________
Imports System.Threading
...
...
Form_Load()
...
...
me.show()
Dim thLoadMap as Thread = new Thread( AddressOf funcLoadMap )
thLoadMap.Start()
end sub
private sub thLoadMap()
Loading~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
end sub
__________________________________________________________________________
pslh(pslh) 的第一种方法早就试过,窗体刷的显下就没了,肯定不行,其实用线程的方法我已经实现了,但是占了很大的cpu使用率,希望楼下的能给我一个其它方法,同时也感谢楼上,结帖子时加分...
__________________________________________________________________________
难道,你装载的时候占用时间和cpu的分配不正式空间度和时间度的问题么?
__________________________________________________________________________
其实加载几副地图,用线程我怕不稳定,其实感觉这种情况也没必要用线程,肯定有其它的方式...
__________________________________________________________________________
那用Form的Activated事件试试吧,不过要做 IsLoaded 判断,如果 Load 过了,就不要重新再Load 了,因为这个事件会在窗体显示的时候激发(隐藏、最小化后再显示也一样)
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
__________________________________________________________________________
我觉得还是线程好一些。线程不会让你感觉程序假死在那里,线程锁来保证你的稳定不就可以了?
__________________________________________________________________________
试试doevents
__________________________________________________________________________
另外写一个加载的方法,然后调用之前DoEvents
__________________________________________________________________________
楼主说道:
之前我在一个窗体初始化的时候加载一幅地图,因为地图很大,所以等好久窗体才出来,现在我想先把窗体show出来再加载地图,有办法作到吗?在vb.net里是不是有show之后的事件?请高手指教,谢谢!
--------------------
对于这种情况,我的做法是Form_Load的时候打开一个Timer,定时3秒,Timer超时的时候去做费劲的工作。
当然,这只能解决窗体第一次显示不刷新的问题。
当费劲工作开始执行时,窗体仍然会延迟响应。
要彻底解决UI的慢反应,只能使用另一个后台工作者线程。
__________________________________________________________________________
要不整个读数据的进度条 呵呵
__________________________________________________________________________
GGDFGFGFGF
__________________________________________________________________________
添加一个Timer(或是Thread),Form_Load事件中启动Timer,Timer的时间设的短些(如20),在线程中进行加载图。
这样读取是在其他线程中进行的,不会卡到Form线程。
__________________________________________________________________________
不建议用Theard,试试BackgroudWorker组件
__________________________________________________________________________
关注中
__________________________________________________________________________
只能说帖子的生命力好强呀!
__________________________________________________________________________
地图=图片?
预先将地图切割成适当大小的 n*m 块(以可以快速载入为准),初始显示时只要载入左上角的几块。
拖动滚动条时很容易算出需要显示的是哪几块,尚未载入的就载入,已载入的就用现成的,除非物理内存消耗得太厉害,否则无论多大得地图速度都慢。
__________________________________________________________________________
少打字了:否则无论多大得地图速度都不慢
__________________________________________________________________________
相关文章推荐
- C#.Net中解决PictureBox控件用FormFile方法后文件被锁定的问题
- asp.net中绑定TextBox回车事件的解决方法
- .net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法
- vb.net中设置checkedlistbox控件指定行为disabled的初级解决方法
- VB.NET参数类型不符相关解决方法
- ASP.NET在IE10中Form表单身份验证失效问题解决方法
- form表单内 checkbox 的 onclick事件 typeError: *** not a function 调用方法类型错误 解决
- .NET MVC从客户端中检测到有潜在危险的 Request.Form 值 的解决方法
- ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法
- [VB.NET]我是新手,想让高手帮忙解决个问题
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
- VB.net应用技巧6: CLR20r3错误的解决方法
- vb.Net中http+ssl问题的超级简单解决方法
- 高手论声明VB.NET事件
- Visual Studio 2010 VB.NET 中使用System.Web.HttpUtility.UrlEncode提示HttpUtility不是Web成员的解决方法!
- .NET easyui form提交后,返回json数据在IE下弹出下载的问题解决方法
- ASP.NET页面按钮单击事件失效的解决方法
- 安装完vs2005后没有C#,VB.net,网站等模版的解决方法
- asp.net mvc 2 (.net 4.0) “检测到有潜在危险的 Request.Form 值”的解决方法
- VB.Net水晶报表:记录选择公式无效,显示出所有记录的解决方法