locked属性设为True.
或者enabled属性设为False.

解决方案 »

  1.   

                     防止用户编辑文本框控件中的内容Visual Basic 中 的 文 本 框 控 件 允 许 用 户 在 其 中 键 入 文 本, 以 便 在 程 序 中 使 用。 相 反, 程 序 员 可 能 会 希 望 显 示 一 些 文 本 但 不 希 望 用 户 编 辑 该 文 本。 本 文 介 绍 了 如 何 创 建 只 读 的 文 本 框 控 件 的 内 容。 使 一 个 文 本 框 控 件 只 读 
     在Visual Basic 中, 如 果 文 本 框 控 件 的MultiLine 属 性 设 置 为True, 文 本 将 会 自 动 地 换 行 到 下 一 行。 另 外, 如 果 文 本 框 控 件 的ScrollBars 属 性 设 置 为3-Both( 或 者1-Vertical, 或 者2-Horizontal), 用 户 还 能 够 滚 动 控 件 中 的 内 容。  程 序 员 要 想 实 现 文 本 框 控 件 中 的 文 本 不 可 编 辑, 可 将 文 本 框 控 件 中 的 内 容 设 置 为 只 读 状 态, 这 可 以 通 过 使 用Microsoft Windows 应 用 程 序 编 程 接 口(API) 的SendMessage 函 数 来 实 现。 SendMessage 函 数 可 以 用 来 发 送 一 个EM_SETREADONLY 消 息 到 文 本 框 控 件 中, 这 将 使 文 本 框 控 件 变 为 只 读。  要 在 程 序 中 使 用 该SendMessage 函 数, 需 要 将 如 下 的 声 明 语 句 包 含 在 项 目 的 通 用 声 明 部 分 中( 注 意 该 声 明 语 句 需 要 书 写 在 一 行 内):  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long  该SendMessage 函 数 需 要4 个 参 数, 如 下 所 示:  .hwnd 一 个 长 整 数 值, 它 包 含 文 本 框 控 件 的 句 柄。  .wMsg 一 个 长 整 数 值, 它 包 含 被 发 送 的 消 息, 在 这 个 例 子 里, 是EM_SETREADONLY。  .wParam 一 个 整 数 值, 如 果 它 为True, 则 控 件 被 设 置 只 读 标 记, 如 果 它 为False, 则 删 除 控 件 的 只 读 标 记。  .lParam 一 个 长 整 数 值, 它 应 该 被 设 置 为0(EM_SETREADONLY 不 使 用 它)。  在 程 序 运 行 了 此SendMessage 函 数 之 后, 将 返 回 一 个 长 整 数 值, 指 明 调 用 成 功( 返 回 值 非0) 或 是 失 败( 返 回 值 为0)。 样 例 程 序 
     该 程 序 显 示 了 如 何 防 止 用 户 编 辑 一 个 文 本 框 控 件 中 的 内 容。 
     1. 在Visual Basic 中 开 始 一 个 新 的 工 程, 采 用 缺 省 的 方 法 建 立Form1。  2. 将 如 下 的 常 量 和 声 明 语 句 添 加 到Form1 的 通 用 声 明 部 分 中( 注 意 该 声 明 语 句 需 要 书 写 在 一 行 内):  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long 
     Const WM_USER = &H400 
     Const EM_SETREADONLY = (WM_USER + 31)  4. 在Form1 上 添 加 一 个 文 本 框 控 件, 采 用 缺 省 的 方 法 建 立Text1。 将 其MultiLine 属 性 设 置 为True, 并 且 将 它 的ScrollBars 属 性 设 置 为3-Both。  5. 在Form1 上 添 加 一 个 命 令 按 钮 控 件, 采 用 缺 省 的 方 法 建 立Command1。  6. 将 如 下 的 代 码 添 加 到Command1 的 单 击 事 件 中: Private Sub Command1_Click()
        Dim RetVal As Long
        RetVal = SendMessage(Text1.hwnd, EM_SETREADONLY, True, ByVal 0&)
    End Sub
     通 过 按 下F5 键 来 执 行 样 例 程 序。 在 文 本 框 控 件 中 键 入 一 些 文 本, 可 以 使 用 水 平 和 垂 直 滚 动 条 来 滚 动 文 本, 还 可 以 改 变 文 本 的 内 容。 单 击 命 令 按 钮, 用 户 仍 然 可 以 使 用 滚 动 条 或 是 光 标 键 来 查 看 文 本 框 控 件 的 内 容, 但 是 不 能 编 辑 它。