ラッパーコントロールを配置したフォームの呼び出しに時間がかかる場合がある

文書番号 : 37642     文書種別 : 技術情報     登録日 : 2014/10/22     最終更新日 : 2014/10/22
文書を印刷する
対象製品
InputMan for Windows Forms 7.0J
詳細
ラッパーコントロールを使用する場合、InputManコントロールよりも多くのアセンブリの読み込みを必要とします。
そのため、InputManコントロールのみを配置したフォームの起動と比較すると、ラッパーコントロールを配置しているフォームの起動の方が時間がかかります。

別のフォームまたはクラスからラッパーコントロールが配置されているフォームが呼び出す場合、ラッパーコントロールが配置されているフォームのインスタンスが生成されるときにアセンブリが読み込まれるため、この時点で読み込み時間を要します。

また、この場合は初期起動とみなされるため、64ビット環境の場合はさらに時間がかかりますが、これは以下の問題と同様の要因となります。

[30424]64ビット(x64)環境でWindowsアプリケーションを実行した場合、初回起動に時間がかかる

この現象を回避するには、ラッパーコントロールが配置されているフォームのインスタンス生成前に、ラッパーコントロールのインスタンスを生成します。

[Visual Basic]
Sub Main()
  ' ラッパーコントロールのインスタンスを生成します。
  Dim dummy As New GrapeCity.Win.Input.Interop.Number
  Dim dummy1 As New GrapeCity.Win.Input.Interop.ClassicComboBox
  Dim dummy2 As New GrapeCity.Win.Input.Interop.Date
  Dim dummy3 As New GrapeCity.Win.Input.Interop.Edit

  ' ラッパーコントロールが配置されているフォームのインスタンスを生成し表示します。
  Dim form1 As New Form1
  form1.ShowDialog()
End Sub

[C#]
static void Main()
{
  // ラッパーコントロールのインスタンスを生成します。
  GrapeCity.Win.Input.Interop.Number dummy = new GrapeCity.Win.Input.Interop.Number();
  GrapeCity.Win.Input.Interop.ClassicComboBox dummy1 = new GrapeCity.Win.Input.Interop.ClassicComboBox();
  GrapeCity.Win.Input.Interop.Date dummy2 = new GrapeCity.Win.Input.Interop.Date();
  GrapeCity.Win.Input.Interop.Edit dummy3 = new GrapeCity.Win.Input.Interop.Edit();

  ' ラッパーコントロールが配置されているフォームのインスタンスを生成し表示します。
  Form1 form1 = new Form1();
  form1.ShowDialog();
}
関連情報