【发布时间】:2015-09-25 13:42:22
【问题描述】:
我一辈子都无法让自定义控件自行更新。在下面的示例中,“test label1”按预期工作和输出。但是,当我稍后尝试让它做同样的事情时,它不会。我试过调用更新和无效,但仍然没有。我错过了什么吗?
交换点也不起作用,所以它看起来不像只是在屏幕外。
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" });
}
}
谢谢。
【问题讨论】:
-
为我工作...我只是将您的代码复制/粘贴到用户控件中,将用户控件放到新表单上,在表单上放置一个按钮,然后调用按钮
myAdvancedListControl.createAnotherLabel();.我无法重现任何问题。 -
感谢您的宝贵时间。我像你一样创建了一个新的干净项目,是的,它确实有效。结果我原来的表格上有两份我没有意识到的副本。感谢您对我首先应该尝试的内容进行微调。 :-)
标签: c# custom-controls visual-c#-express-2010