作成日: 2021/09/22 最終更新日: 2021/09/22
文書種別
不具合
状況
回避方法あり
詳細
何らかの問題により情報の一部が欠損したレイアウトファイルを、RestoreLayoutメソッドを使用して読み込んだ後、C1DockingManagerのTabPageClosingイベントハンドラ内でキャンセル処理(e.Cancel = true)を実行すると、その処理が終了せず、無限ループとなり最終的にハングアップの状態となります。
回避方法
レイアウトファイルを読み込んでいる間は、C1DockingManagerのTabPageClosingイベントハンドラ内でのキャンセル処理を行わないようにします。
private bool Restoring { get; set; } = false;
・・・途中省略・・・
Restoring = true;
C1DockingTab.RestoreLayout(this, "Layout.xml");
Restoring = false;
・・・途中省略・・・
private void c1DockingManager1_TabPageClosing(object sender, TabPageCancelEventArgs e)
{
if (Restoring == true)
{
return;
}
e.Cancel = true;
}