C#:更新数据网格
我有一个带有 Windows 窗体数据网格的 C# 应用程序。我需要监视一个目录(正在使用 FileSystemWatcher)并使用目录中的文件列表刷新数据网格。我不确定如何设置界面来做到这一点?从 Windows 窗体 Load() 调用 monitorDirectory() 似乎不起作用,因为 Load 在应用程序中仅调用一次。
谢谢
I have a C# application with a datagrid in windows form. I need to monitor a directory (am using FileSystemWatcher) and refresh the datagrid with list of files in the directory. I am not sure how I can set up the interface to do so? Calling the monitorDirectory() from the windows-form Load() does not seem to work as Load is called only once in the application.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以在 FileSystemWatcher 的 OnChanged 或 OnRenamed 事件处理程序中更新网格。
下面链接中的示例正在处理控制台应用程序中的事件。
MSDN FileSystemWatcher 类
You could update your grid within the OnChanged or OnRenamed event handlers of your FileSystemWatcher.
The example at the link below is handling the events within a Console application.
MSDN FileSystemWatcher Class
使用 FileSystemWatcher 检测文件更改 有一个很好的示例,说明如何使用 FileSystemWatcher
Detecting File Changes with FileSystemWatcher has a good example of how to use the FileSystemWatcher
您可以侦听来自 FileSystemWatcher 对象的事件。 MSDN 页面发布了一些有关如何操作的建议这。
本质上,在调用 MonitorDirectory() 之前,您应该订阅 FileSystemWatcher 的 Changed、Created、Deleted 和 Renamed 事件。
You can listen to events from the FileSystemWatcher object. The MSDN page posts some recommendations on how to do this.
Essentially, right before calling MonitorDirectory(), you should subscribe to the Changed, Created, Deleted, and Renamed events of your FileSystemWatcher.
完整代码
将 Form1 添加到您的项目
将 Form1.Designer.cs 替换为
将 Form1.cs 替换为
Full Code
Add a Form1 to your project
Replace Form1.Designer.cs with
Replace Form1.cs with