我不能为我的生活获得自定义控件更新自己。在下面的示例中,“test label1”按预期工作和输出。然而,当我试着让它在以后做同样的事情时,它不会。我试过调用Update和Invalidate,但仍然没有。我错过了什么吗?
交换点也不起作用,所以它看起来不像是屏幕上的例子。
public partial class AdvancedListControl : UserControl
{
public void createAnotherLabel()
{
Controls.Add(new Label { Location = new Point(14, 14), AutoSize = true, Text = "test label2 - test" }); // this won't create
// me.Controls.Add(new Label { Location = new Point(14, 14), AutoSize = true, Text = "test label2 - test" });
// Update();
// Invalidate();
}
private AdvancedListControl me;
public AdvancedListControl()
{
InitializeComponent();
me = this;
Controls.Add(new Label { Location = new Point(26, 26), AutoSize = true, Text = "test label1" });
}
}
感谢。
答案 0 :(得分:0)
控件方法必须由最终用户操作驱动的控件调用,如按钮的事件处理程序,导致页面回发,这将导致控件触发方法并使用更新控件呈现页面状态。
答案 1 :(得分:0)
咩! Noob错了。我和Jashaszun做了同样的事情并创建了一个新项目,是的,它确实有效。结果我在表格上有两个高级控件副本,而隐藏的那个是我正在击中的那个。这是漫长的一天。 ; - )