【问题标题】:How to dynamically update a textbox text?如何动态更新文本框文本?
【发布时间】:2013-01-14 06:34:51
【问题描述】:

我正在开发一个桌面应用程序,我必须将大量数据从一个数据库传输到另一个数据库。我想在文本框中动态显示传输记录的详细信息。我正在使用以下代码

在 db 中插入后执行以下代码:

if (val >= 0) 
{
   Transfercounter++;
   saving = "Record " + Transfercounter + " is transferred to new DB"; 
   txtResults.Text = txtResults.Text + saving + Environment.NewLine + Environment.NewLine; 
} 

如何在运行时动态显示传输的记录,而不是在执行完成后显示所有记录。

【问题讨论】:

  • 我同意@TomSarduy,他的问题可以+1。
  • 阿米尔,你什么时候执行这段代码?向我们展示更多代码。
  • @aamir: 也许你需要一些客户端代码来实现这个
  • 插入 db 后执行 else if (val >= 0) { Transfercounter++;保存 = “记录” + Transfercounter + “转移到新数据库”; txtResults.Text = txtResults.Text + 保存 + Environment.NewLine + Environment.NewLine; } 它是一个 Win 表单应用程序
  • 使用 BackgroundWorker msdn.microsoft.com/en-us/library/…

标签: c# .net winforms textbox


【解决方案1】:

就像 Dan Hunex 所说,您应该使用带有 ProgressBar 和显示状态的文本框的 BackgroundWorker 方法:

步骤

  1. 将您的 SQL 放入 BackgroundWorker。 MSDN 上有很好的例子,而且不难使用。

  2. 当您调用 BackgroundWorker 时,这会释放您的 UI 以运行某种“状态”控件。

  3. 一旦 BackgroundWorker 的 RunWorkerCompleted 发生,您可以移除您的“状态”控件并绑定您的数据或其他任何东西

进一步

【讨论】:

    【解决方案2】:

    使用 BackgroundWorker。 msdn中有很好的例子,你可以自定义达到你想要的效果http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多