我在tabControl上有3个tabPages,每个tabPage都有一个pictureBox。
当我在gridview中选择一行时,它会从文件中加载图像,在选择时我想要刷新带有图像的3个选项卡。问题是只有当我改变图像时切换tabPage时,pictureBox刷新。我试图刷新,无效或更新控件,但它不起作用。
我找到了:
" TabPage中包含的控件在显示标签页之前不会创建,并且在显示标签页之前不会激活这些控件中的任何数据绑定。"
如何解决这个问题。
答案 0 :(得分:0)
您可以使用反射强制创建控件。例如
private void CreateControl(Control control)
{
var method = control.GetType().GetMethod("CreateControl", BindingFlags.Instance | BindingFlags.NonPublic);
method.Invoke(control, new object[] { true });
}
答案 1 :(得分:0)
由于选项卡不会加载控件直到选中它,因此一个常见的解决方法是以编程方式强制关注选项卡。
唯一的缺点是,由于可见性的影响,用户将看到一眨眼的屏幕。如果您没有使用可见性,用户将看到焦点从标签移动到标签,这更糟糕! :)