0
    Net_mang_Form.Prg_bar.Visible = True
    Net_mang_Form.Prg_bar.Value = 0
    Net_mang_Form.prg_Timer.Start()

    Dim chk As Integer = file_send(dev_id, dev_type, Net_mang_Form.snd_file_path, ip_addr & "#1206", contrl_id)

    '=================== Upload Process is finished =====================

    Net_mang_Form.prg_Timer.Stop()
    Net_mang_Form.Prg_bar.Visible = False

    '====================================================================

这里Net_mang_FormForm1,这段代码是在按钮点击事件中编写的Form2

file_send是 dll 的功能。

prg_Timer是定时器控制。

Prg_bar是进度条控件。

4

2 回答 2

0

如果您的计时器是 aSystem.Windows.Forms.Timer那么它只能在WM_TIMER您运行的 UI 线程不忙的情况下接收通知(将其转换为事件回调到您的代码中)。如果您正在执行需要很长时间的阻塞调用,则在阻塞调用完成之前,您将不会收到 Timer 事件、按钮单击事件或任何其他 windows 消息类型的事件。如果您确实需要这种行为,您可能需要考虑使用线程。

于 2012-05-14T14:23:42.657 回答
0

您是否确实订阅了 Timer Elapsed 事件,因为我在代码片段中没有看到它?
VB.NET 定时器

于 2012-05-14T11:49:42.770 回答