组件不断刷新(重新粉刷)

时间:2012-03-21 13:12:14

标签: c# winforms events custom-component

我有自己的组件可以在我的测试winform应用程序中运行良好但是当我将它发送给我的朋友并且他在他更复杂的应用程序中使用它时,我的组件不断刷新,响应缓慢,...我认为问题是在我的组件中因为旧版本运行良好。但我不知道我改变了什么(几周前)。我必须尽快给他工作版,但我不知道如何解决它,因为我不知道问题在哪里。您可以尝试this component并说出您是否遇到问题。或者查看我的代码(calendar.cs calendar.designer.cs)并尝试帮助我找到问题。非常感谢

1 个答案:

答案 0 :(得分:0)

这看起来像是一面红旗:

void panelKalendar_Paint(object sender, PaintEventArgs e)
{
  Debug.WriteLine("panelKalendar_Paint");
  if (_viewType == ViewType.Week)
  {
    btnNext.Show();
    btnPrev.Show();
    lblMonth.Show();
    panelKalendar.Size = new Size(SIRKA_KALENDARE_WEEK, VYSKA_KALENDAREBEZPANELU_WEEK);
    //...
  }
  //...
}

您正在绘制一个paint事件期间调整控件的大小,这将再次调用paint事件。与控件相同,在绘制事件期间显示或隐藏控件也会导致控件无效。

不是100%肯定,我没有运行代码。