PlusPakのコンテナコントロールに大量のコントロールを配置している場合、ズーム時の描画に遅延が発生することがある
対象製品
MultiTouch for Windows Forms 1.0J
状況
修正済み
詳細
PlusPak for Windows Formsにある下記のコンテナコントロールに大量のコントロールを配置している場合、GcZoomコンポーネントで画面をズームする時コントロールの描画が著しく遅くなることがあります。
・GcContainer
・GcTabControl
・GcFlowLayoutContainer
本現象は、GcApplicationZoom、GcZoomPanelでも発生します。
・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;
}
}
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