GcTabControl上のコントロールでValidateChildrenメソッドによるValidatingイベントが発生しない

文書番号 : 37078     文書種別 : 不具合     登録日 : 2014/03/05     最終更新日 : 2014/04/23
文書を印刷する
対象製品
PlusPak for Windows Forms 7.0J
状況
修正済み
詳細
ValidateChildrenメソッドを実行して検証を行った場合、GcTabControl上に配置したコントロールでは Validatingイベントが発生しません。
回避方法
この問題はService Pack 2(v7.0.2014.0423)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。

また、下記のようにSetStyleメソッドを呼び出してコントロールの動作を変更する方法で回避することが可能です。

[VB]
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' SetStyleメソッドを呼び出して、コントロールの動作を変更します。
    Dim setStyleMethod As System.Reflection.MethodInfo = Me.GcTabControl1.GetType().GetMethod("SetStyle", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic)
    If setStyleMethod IsNot Nothing Then
      setStyleMethod.Invoke(Me.GcTabControl1, New Object() {ControlStyles.ContainerControl, True})
    End If

  End Sub

[C#]
  public Form1()
  {
    InitializeComponent();

    // SetStyleメソッドを呼び出して、コントロールの動作を変更します。
    System.Reflection.MethodInfo setStyleMethod = this.gcTabControl1.GetType().GetMethod("SetStyle", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
    if (setStyleMethod != null)
    {
      setStyleMethod.Invoke(this.gcTabControl1, new object[] {ControlStyles.ContainerControl,true});
    }
  }
キーワード
PPWI08044