PlusPakのコンテナコントロールに大量のコントロールを配置している場合、ズーム時の描画に遅延が発生することがある

文書番号 : 39161     文書種別 : 不具合     登録日 : 2015/10/29     最終更新日 : 2015/11/27
文書を印刷する
対象製品
MultiTouch for Windows Forms 1.0J
状況
修正済み
詳細
PlusPak for Windows Formsにある下記のコンテナコントロールに大量のコントロールを配置している場合、GcZoomコンポーネントで画面をズームする時コントロールの描画が著しく遅くなることがあります。

・GcContainer
・GcTabControl
・GcFlowLayoutContainer

本現象は、GcApplicationZoom、GcZoomPanelでも発生します。
回避方法
この問題はService Pack 3(v1.0.2015.1127)で修正されました。
Service Pack 3で提供しているPlusPakZoomPolicyのGcContainerZoomPolicyを適用することで問題を解決できます。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。

または、下記のようにズームポリシーを書き換えることで現象を改善できます。

[Visual Basic]
Public Class GcContainerZoomPolicy
    Inherits ScrollableControlZoomPolicy
    Public Overrides ReadOnly Property TargetType() As Type
        Get
            Return GetType(GcContainer)
        End Get
    End Property

    Public Overrides Sub Initialize(control As Control)
        TryCast(control, GcContainer).Redraw = False
        MyBase.Initialize(control)
    End Sub
    Public Overrides Sub Terminate(control As Control)
        MyBase.Terminate(control)
        TryCast(control, GcContainer).Redraw = True
    End Sub
End Class

[C#]
public class GcContainerZoomPolicy : ScrollableControlZoomPolicy
    {
        public override Type TargetType
        {
            get { return typeof(GcContainer); }
        }
        public override void Initialize(Control control)
        {
            (control as GcContainer).Redraw = false;
            base.Initialize(control);
        }
        public override void Terminate(Control control)
        {
            base.Terminate(control);
            (control as GcContainer).Redraw = true;
        }
    }
キーワード
MTTK11268