如何在每次单击按钮时刷新用户控件
How to refresh a user control every time a button is clicked
我有一系列菜单选项,它们都是 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 了解不多,我想我必须重新设计我的项目的很大一部分以促进这一点。我正在使用文本文件。
要查看文本文件的内容,您可以使用 System.IO.FileSystemWatcher
class。 Changed
-事件会在监视文件的内容发生更改时通知您的应用程序。
刷新整个 birthdaysUserControl1 不会刷新内部 ListBox 数据源,您需要手动刷新它。
private void button2_Click(object sender, EventArgs e)
{
birthdaysUserControl1.RefreshList();
}
在 birthdaysUserControl1:
public void RefreshList()
{
listbox1.DataSource=null;
listbox1.DataSource=UpcominBdays;
}
我有一系列菜单选项,它们都是 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 了解不多,我想我必须重新设计我的项目的很大一部分以促进这一点。我正在使用文本文件。
要查看文本文件的内容,您可以使用 System.IO.FileSystemWatcher
class。 Changed
-事件会在监视文件的内容发生更改时通知您的应用程序。
刷新整个 birthdaysUserControl1 不会刷新内部 ListBox 数据源,您需要手动刷新它。
private void button2_Click(object sender, EventArgs e)
{
birthdaysUserControl1.RefreshList();
}
在 birthdaysUserControl1:
public void RefreshList()
{
listbox1.DataSource=null;
listbox1.DataSource=UpcominBdays;
}