c# - WinForms 调用/BeginInvoke

标签 c# .net winforms delegates

我有一个 C# win 表单,我在其中读取文件并在 datagridview 中显示行。一切工作正常..我使用 delegate 和 Invoke 来显示正在读取的行。它还显示进度条并执行其他一些操作,例如计算行长度和解析行以从每行中提取某些字段。

只是好奇,是否有人尝试过这种实现。目前,我的应用程序在 3 分钟多一点的时间内读取 250MB 文件(约 12000 行)(Win 7 32bit/celeron 2.66Ghz/4GB)。我想知道是否有可能减少时间 - 更像是通过改变我实现它的方式。

最佳答案

嗯,你对此重新考虑是完全正确的。托尔斯泰的《 war 与和平》可能是最难读的书,大约有五十万字。你倾倒到屏幕上的内容是原来的一百倍。将这么多信息显示在屏幕上需要多长时间并不重要,用户甚至要花很长的时间才能滚动浏览它。

我个人犹豫是否要在列表中放入超过 50 项的内容。 100 顶。除此之外,这对人类来说就是纯粹的折磨。

要实现这一目标,请允许用户过滤内容,逐渐在庞大的结果集中深入到相关项目。从你的问题中并不清楚它到底应该是什么样子。想一想,我相信你会想出一些办法的。

关于c# - WinForms 调用/BeginInvoke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278084/

相关文章:

c# - 将它们放在 WinForm 上时,是否可以让您的用户控件显示这些对齐指南?

c# - 带有 C# 扩展函数的 XSLT 中的错误消息

c# - UWP 中的 ReadLinesAsync 从绝对文件路径

c# - 当 Button 缺少 OnClick 时,Unity 缺少警告

.net - X509证书和SSL

c# - 如何使用其中一个变量对列表中的类进行排序

c# - 如何找出两个图片框何时在 C# WinForms 中发生碰撞

c# - 创建可升级的 C# .net Windows 应用程序

c# - Infragisitcs ultrawingrid 列选择器和列过滤器

c# - 电子邮件验证 : converting a regular expression written in PHP (preg) to . NET(正则表达式)