问题描述
由于数据量较大,调用画面的代码如下:tmpForm.Show()Application.DoEvents()
现在发现form.shown事件中,对combobox初始值的设定无效,画面加载后,始终选中第一条数据。但如果去掉Application.DoEvents(),就能正常选中默认数据。请问如何在不去掉Application.DoEvents()的前提下,对combobox设定初始值?
解决方案
解决方案二:
tmpForm_load中再去做此事.
解决方案三:
引用楼主devotedsky的回复:
由于数据量较大,调用画面的代码如下:VB.NETcodetmpForm.Show()Application.DoEvents()现在发现form.shown事件中,对combobox初始值的设定无效,画面加载后,始终选中第一条数据。但如果去掉Application.DoEvents(),就能正常选中默认数据。请问如何在不去掉Application.Do……
我用的vs2008測試是沒有問題的,你把Application.DoEvents()放到設置combobox初始值后的語句執行一下看看。
解决方案四:
引用1楼drk928的回复:
tmpForm_load中再去做此事.
load事件也不行。
解决方案五:
引用2楼tosp2012的回复:
你把Application.DoEvents()放到設置combobox初始值后的語句執行一下看看。
Application.DoEvents()是在菜单画面里执行的,以免代码冗余。会不会是因为重写了DrawItem事件的缘故?
解决方案六:
说明:当运行Windows窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。通常,您在循环中使用Application.DoEvents()来处理消息。所以,你可能把Application.DoEvents()位置要重新定位。
时间: 2024-11-02 22:30:35