首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

禁止某控件重绘的有关问题

2013-02-24 
禁止某控件重绘的问题问题描述Pannel上有1000个label,点button1,调整所有label的高度,由于每调整一个,窗口

禁止某控件重绘的问题
问题描述

Pannel上有1000个label,点button1,调整所有label的高度,由于每调整一个,窗口就会重绘,所以造成很慢,
试过把Panel隐藏,就会非常快,但是我不隐藏pannel,想通过屏蔽pannel重绘,实现快速调整,求教
[解决办法]
没办法,一个控件若自己要重画,它的同级控件就得重画。。你试试form.DoubleBuffered:=true
[解决办法]
发送WM_SETREDRAW消息
[解决办法]
没放1000个,反正少了是效率挺高的。。参考下。。

for I := 0 to self.Panel1.ControlCount - 1 do
  begin
    if (self.Panel1.Controls[i] is TLabel)  then
      TLabel(Aowner.Controls[i]).Height:=StrToIntDef(self.edt1.Text,20);
      TLabel(Aowner.Controls[i]).Width:=StrToIntDef(self.edt2.Text,30);
  end;

满意给分吖。。。

热点排行