我有一系列菜单选项,它们是Windows窗体应用程序上的所有单独用户控件。
如何刷新用户控件,以便例如我在我的txt文件中添加了一个新人,当我单击“生日”按钮时,它会再次在生日用户控件中的所有功能上执行新文件加入。
现在发生的事情是当我向我的txt文件添加新人时,用户控件不刷新,因此不调用Data.updatedata()方法并且不更新数据。
是否有特定的事件或方法可以在点击时刷新用户控件?
我尝试在主窗体中使用birthdayUserControl1.refresh()
namespace Project
{
public partial class ChildrenUi : Form
{
public ChildrenUi()
{
InitializeComponent();
homeUserControl1.BringToFront();
}
private void button2_Click(object sender, EventArgs e)
{
birthdaysUserControl1.Refresh();
birthdaysUserControl1.BringToFront();
}
}
}
我刚刚开始学习Winforms,并且在使用XAML / XML文件时遇到了关于刷新用户控件的类似问题的数据绑定,但我不太了解XAML / XML,我想我必须重新设计一个我的项目的很大一部分,以促进这一点。我正在使用文本文件。
答案 0 :(得分:1)
刷新整个生日,用户控件1无法刷新内部ListBox数据源,需要手动刷新它。
private void button2_Click(object sender, EventArgs e)
{
birthdaysUserControl1.RefreshList();
}
在birthdaysUserControl1里面:
public void RefreshList()
{
listbox1.DataSource=null;
listbox1.DataSource=UpcominBdays;
}
答案 1 :(得分:0)
要观看文本文件的内容,可以使用System.IO.FileSystemWatcher
类。只要观察文件的内容发生变化,Changed
- 事件就会通知您的应用程序。