作成日: 2022/09/07 最終更新日: 2022/12/07
文書種別
不具合
状況
修正済み
詳細
検証アクションにGcBalloonTipNotifyを設定し、画面操作の検証処理にてバルーンチップを表示した後、ResetValidationStateメソッドを実行しても、表示されているバルーンチップが表示されたままとなります。
例えば、以下のようにGcTextBoxコントロールにGcCommonValidatorを設定しているとき、実行時してバルーンチップが表示された状態でボタンをクリックしても、バルーンチップが非表示になりません。
private void Form1_Load(object sender, EventArgs e)
{
// 検証アイテムの設定
EmptyText emptyText1 = new EmptyText();
emptyText1.InvalidMessage = "値が設定されていません";
gcCommonValidator1.GetValidateItems(gcTextBox1).AddRange(new object[] { emptyText1 });
// 検証アクションの設定
var gcBalloonTipNotify1 = new GcBalloonTipNotify();
gcCommonValidator1.GetValidateActions(gcTextBox1).AddRange(new ValidateAction[] { gcBalloonTipNotify1 });
// テキストコントロールの設定
gcTextBox1.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
gcCommonValidator1.ResetValidationState();
}
回避方法
Service Pack 1より前のバージョンでは次の方法で回避可能です。
下記のように、OpenFormsがBalloonTipWindowの場合に明示的に非表示にします。private void Form1_Load(object sender, EventArgs e)
{
// 検証アイテムの設定
EmptyText emptyText1 = new EmptyText();
emptyText1.InvalidMessage = "値が設定されていません";
gcCommonValidator1.GetValidateItems(gcTextBox1).AddRange(new object[] { emptyText1 });
// 検証アクションの設定
var gcBalloonTipNotify1 = new GcBalloonTipNotify();
gcBalloonTipNotify1.ShowShadow = false; //回避策(追加1)
gcCommonValidator1.GetValidateActions(gcTextBox1).AddRange(new ValidateAction[] { gcBalloonTipNotify1 });
// テキストコントロールの設定
gcTextBox1.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
//gcCommonValidator1.ResetValidationState();
// 回避策(追加2)
for (var i = Application.OpenForms.Count - 1; i > -1; i--)
{
if (Application.OpenForms[i].GetType().Name == "BalloonTipWindow")
{
Application.OpenForms[i].Hide();
}
}
}