GcTabControl上のコントロールでValidateChildrenメソッドによるValidatingイベントが発生しない
対象製品
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});
}
}
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
また、下記のように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