如 何 設 計 一 個 可 中 斷 迴 圈 的 命 令 鈕。
當 程 式 進 入 迴 圈 而 尚 未 脫 離 時 , 使 用 者 將 無 法 操 作 表 單 上 的 控 制 元 件 , 所 以 命 令 鈕 也 是 無 法 操 作 的 。 想 要 設 計 可 中 斷 迴 圈 的 命 令 鈕 , 首 先 必 須 在 迴 圈 之 中 安 插 DoEvents 敘 述 , 例 如 :
DoEvents 的 作 用 是 暫 時 釋 放 CPU, 讓 其 他 程 式 得 以 被 執 行 , 也 就 是 讓 使 用 者 可 以 操 作 表 單 上 的 控 制 元 件 。
接 著 宣 告 一 個 全 域 變 數 : Dim bExit As Boolean, 然 後 在 迴 圈 中 增 加 以 下 的 判 斷 式 :
最 後 則 是 在 命 令 鈕 的 Click 事 件 程 序 中 撰 寫 以 下 敘 述 :
以 上 程 式 有 兩 大 重 點
(1) DoEvents 讓 使 用 者 可 以 按 下 命 令 鈕
(2) 命 令 鈕 按 下 時 , 將 全 域 變 數 bExit 設 定 成 True, 使 得 程 式 在 判 斷 Not bExit 為 False 的 情 況 下 而 脫 離 迴 圈 。
註 :
(1) DoEvents 的 相 關 介 紹 請 參 閱 VB5 實 戰 講 座 p.53、 p.356。
(2) 全 域 變 數 的 介 紹 請 參 閱 VB5 實 戰 講 座 第 5 章 [模 組 化 程 式 設 計 ]。