【发布时间】:2014-07-01 16:27:21
【问题描述】:
我正在用 Visual Basic 编写代码来计算素数。该程序在循环中运行,我将新的素数添加到文本框中,但在循环结束之前它保持空白。如何在循环中向文本框添加文本?
【问题讨论】:
-
在计算运行时表单是否无响应?
-
是的,是……有问题吗?
我正在用 Visual Basic 编写代码来计算素数。该程序在循环中运行,我将新的素数添加到文本框中,但在循环结束之前它保持空白。如何在循环中向文本框添加文本?
【问题讨论】:
您正在计算 UI 线程上的素数,本质上是在循环运行时冻结 UI。这对用户体验非常不利:文本框不更新只是一种症状。
为您的计算拆分一个工作线程并调用 UI 线程来更新 UI。
【讨论】:
您可以使用 InputBox 代替 TextBox。 InputBox 和 TextBox 之间的区别在于 InputBox 暂停循环,允许您在运行时输入值。下面是一个如何使用 InputBox 的示例。
将消息变暗为字符串 暗淡标题为字符串 将 MyValue 调暗为字符串
Message = "输入一个介于 1 和 3 之间的值" ' 设置提示。 Title = "Input Box Demo" ' 设置标题。
' 显示消息,标题。 MyValue = InputBox(消息,标题) ' 在位置 100、100 处显示对话框。 MyValue = InputBox (Message, Title,, 100, 100)
https://msdn.microsoft.com/en-us/library/6z0ak68w(v=vs.90).aspx
【讨论】: