两个问题

redwrite 2003-12-01 10:14:41
一、点击listview空白行的事件是什么,也就是说从怎么方法可得到员工是点击空白行的(没有记录的行)

二、有什么方法可以实现当一个窗体完成装载好了的时候才显示

请大家帮帮我,谢谢
...全文
37 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mars.CN 2003-12-21
  • 打赏
  • 举报
回复
二、有什么方法可以实现当一个窗体完成装载好了的时候才显示
答:load()事件
redwrite 2003-12-18
  • 打赏
  • 举报
回复
to chewinggum(口香糖·向星星前进)
虽然你的方法不是常规方法,但是针对我的问题却很有效,谢谢啦
保留三天后结贴。
cdsh123 2003-12-17
  • 打赏
  • 举报
回复
其实你可自己编函数。
1。工程的启动改为sub main,先调用一函数装载窗体(load),处理完数据后show 出此窗体。
2。把窗体属性改为autoredraw属性改为true.
3。自己多多调试,但最好不要单步调试,那样可能不正常。
脆皮大雪糕 2003-12-17
  • 打赏
  • 举报
回复
别把问题都往复杂的地方想,一些简单的办法往往能达到想要的结果。
好了,我把两个问题都解决了,接分了!呵呵:)
脆皮大雪糕 2003-12-17
  • 打赏
  • 举报
回复
咳,仅仅是需要form_load事件后还是不需要显示的话就用下面这段代码:
一个窗体,一个timer,timer是为了每隔一段时间提醒你一下以便你决定窗体是否显示出来

Private Sub Form_Load()
Me.Hide
Positionx = Me.Left
Positiony = Me.Top '保存当前位置

Me.Left = -10000
Me.Top = -10000

MsgBox "窗体现在隐藏到屏幕的不可见区域"

'这里可以做你想做的事情

Timer1.Enabled = True
Timer1.Interval = 10000
Me.Show
End Sub

Private Sub Timer1_Timer()
If MsgBox("现在是否显示窗体?此提示每10秒显示一次,以便你能做出决定", vbYesNo) = vbYes Then
Me.Left = Positionx
Me.Top = Positiony
End If
End Sub
landongfang 2003-12-17
  • 打赏
  • 举报
回复
每一次要执行
listview1.ListItems.Clear
listview1空白的多余行
fangyds 2003-12-17
  • 打赏
  • 举报
回复
你也可以在Form2上添加一个Command(Visible=False)并添加代码:
Form1.Show
Unload Form2
修改Sub Main为:
Public Sub main()
' Load Form1
Form2.Show
Dim starttime As Long
Dim endtime As Long
Dim i As Long
DoEvents
starttime = timeGetTime
For i = 0 To 100000
Form1.List1.AddItem Format$(i, "000000")
Next i
endtime = timeGetTime
Form1.Label1.Caption = "用时:" & endtime - starttime & "ms"
Form2.Label1.Caption = "数据加载完毕。"
Form2.Command1.Visible = True
' Unload Form2
' Form1.Show
End Sub
这样一来,如果你不按Form2上的Command的话,Form1将不会被显示。
landongfang 2003-12-17
  • 打赏
  • 举报
回复
简单:
Form2.Tag="Form2"
Form2.Show 1
landongfang 2003-12-17
  • 打赏
  • 举报
回复
If listview1.SelectedItem Is Nothing Then
msgbox "点了空白的"
End If
fangyds 2003-12-17
  • 打赏
  • 举报
回复
第二个问题是否可以这样:
把加载数据及显示窗体的代码写在Sub Main中(当然工程的启动属性要改为Sub Main喽)
而不是在窗体的Load事件中加载数据。
需要两个窗体,属性全部使用默认和一个模块
Form1中添加一个ListBox和一个Label,同样全部使用默认属性
Form2为启动画面

'以下代码在模块中
Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Public Sub main()
' Load Form1
Form2.Show
Dim starttime As Long
Dim endtime As Long
Dim i As Long
DoEvents
starttime = timeGetTime
For i = 0 To 200000
Form1.List1.AddItem Format$(i, "000000")
Next i
endtime = timeGetTime
Form1.Label1.Caption = "用时:" & endtime - starttime & "ms"
Unload Form2
Form1.Show
End Sub
redwrite 2003-12-17
  • 打赏
  • 举报
回复
Dim i As Long
Dim j As Long
Private Sub Form_Load()
Me.Hide

End Sub

一至运行到End sub 都是看不见的,也是我需要的效果,
但是End Sub这句运行结束,窗出来了,不知道为啥...
rexyudl 2003-12-17
  • 打赏
  • 举报
回复
用断点跟踪测试啊!
rexyudl 2003-12-17
  • 打赏
  • 举报
回复
你自己去做个实验啊!

Dim i As Long
Dim j As Long
Private Sub Form_Load()
Me.Hide
For i = 1 To 100000
For j = 1 To 1000
x = j + 1
Next j
Next i
Me.Show
End Sub
看看出什么效果!
我认为完全可以满足你的要求啊!
你可能还是有地方没有用对吧?
redwrite 2003-12-17
  • 打赏
  • 举报
回复
up
redwrite 2003-12-16
  • 打赏
  • 举报
回复
to : rexyudl(隼)
我在能加me.hide的所有地方都加了,可是就是不行
也不知道哪里出现了毛病
flc 2003-12-15
  • 打赏
  • 举报
回复
关注
rexyudl 2003-12-15
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Me.Hide
"执行操作的语句"
Me.Show
End Sub
难道这样做不可以吗?
  • 打赏
  • 举报
回复
我也没细看上面的,我的解决办法是加一个空格行进去,就是有一行item值是一些空格.如果让这行选中,哪么就像是什么也没选一样了吧.呵呵.如果和上面的重了就不算了.88.
rexyudl 2003-12-15
  • 打赏
  • 举报
回复
大数据量SQL语句查询时候花费的时间比较长。
那么你可以在
窗体.SHOW之前把查询做完。
赋给一个公用记录集然后窗体.SHOW再把功用记录集里的数据赋给要显示数据的控件!
这样做可以节省出执行查询操作的时间!

这种龌龊的招我都能想出来!!!
晕死!
脆皮大雪糕 2003-12-15
  • 打赏
  • 举报
回复
对于第二个问题
Private Sub Form_Load()
Me.Hide
'do something what you want
Me.Show
End Sub
加载更多回复(22)

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧