刷新/更新usercontrol中的控件
本文关键字:控件 usercontrol 更新 刷新 | 更新日期: 2023-09-27 18:15:11
我有一个具有动态TabPages
的TabControl
的表单。每个页面都使用循环添加了usercontrol。这就是我在每个页面中添加usercontrol
的方法。
for (var i = 0; i < tbl.Rows.Count; i++)
{
uctrTab = new XtraTabPagesUserCtrl();
xtab.TabPages[i].Text = "Table " + (i+1);
uctrTab.LayoutClicked += new MouseEventHandler(Layout_Click);
xtab.TabPages[i].Controls.Add(uctrTab);
xtab.TabPages[i].PageVisible = !xtab.TabPages[i].PageVisible;
}
我所做的用户控件有一个DataGridView
在它,所以我想刷新它的内容,但我不知道如何做到这一点,而不删除和读取控制返回。
现在我的解是
xtab.SelectedTabPage.Controls.Clear();
uctrTab = new XtraTabPagesUserCtrl();
uctrTab.LayoutClicked += new MouseEventHandler(Layout_Click);
xtab.SelectedTabPage.Controls.Add(uctrTab);
有没有更好的方法来刷新内容而不需要这样做?
我将在这里写下我的答案(我是在评论区写的,因为问题被搁置了)。
我的建议. .首先在你的用户控件中实现一个方法,比如。
public void RefreshGrid()
{
refresh datagridview data here
}
第二,遍历所选选项卡页的控件并查找您的usercontrol..就像这样…
foreach(Control ctrl in selectedTabPage.Controls)
{
if(ctrl is XtraTabPagesUserCtrl)
{
((XtraTabPagesUserCtrl)ctrl).RefreshGrid();
}
}