タブおよびタブグループのレイアウトおよびプロパティを保存するために SaveAsXml(Stream) または SaveAsBinary(Stream) メソッドが起動されると、StoreTab が UltraTabbedMdiManager によって管理される各タブごとに起動されます。このとき、イベント内のPersistedInfoプロパティを、逆シリアル化するときに適切なフォームを作成できるだけの十分な情報を含むシリアル化可能なオブジェクト(文字列など)に設定することをお勧めします。UltraTabbedMdiManager.LoadFromXml メソッドまたは UltraTabbedMdiManager.LoadFromBinary メソッドが起動されると、RestoreTab イベントが起動されます。このイベントは逆シリアル化された MdiTab を提供するため、シリアル化された PersistedInfo にアクセスして適切な Form を作成できます。
注: このプロパティは MdiTab によって使用されるのではなく、逆シリアル化時に利用するために存在しています。設定する場合は、値がシリアル化可能である必要があります (System.Type.IsSerializable を参照)。
Imports Infragistics.Win Imports Infragistics.Win.UltraWinTabs Imports Infragistics.Win.UltraWinTabbedMdi Private Sub ultraTabbedMdiManager1_StoreTab(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinTabbedMdi.StoreTabEventArgs) Handles ultraTabbedMdiManager1.StoreTab ' The 'StoreTab' event is invoked when the SaveAsXml or ' SaveAsBinary method is invoked. It is a convenient place ' to initialize the 'PersistedInfo' property of the tabs ' immediately prior to serialization and is invoked once for ' each MdiTab in the TabGroups and in the HiddenTabs. This ' will prevent the need to keep updating the PersistedInfo ' at other points when the information needed to deserialize ' the tab changes - e.g. when the file name of the associated ' form changes. If TypeOf e.Tab.Form Is EditForm Then e.Tab.PersistedInfo = (CType(e.Tab.Form, EditForm)).FileName Else e.Tab.PersistedInfo = e.Tab.Form.Text End If End Sub
using Infragistics.Win; using Infragistics.Win.UltraWinTabs; using Infragistics.Win.UltraWinTabbedMdi; private void ultraTabbedMdiManager1_StoreTab(object sender, Infragistics.Win.UltraWinTabbedMdi.StoreTabEventArgs e) { // The 'StoreTab' event is invoked when the SaveAsXml or // SaveAsBinary method is invoked. It is a convenient place // to initialize the 'PersistedInfo' property of the tabs // immediately prior to serialization and is invoked once for // each MdiTab in the TabGroups and in the HiddenTabs. This // will prevent the need to keep updating the PersistedInfo // at other points when the information needed to deserialize // the tab changes - e.g. when the file name of the associated // form changes. if (e.Tab.Form is EditForm) e.Tab.PersistedInfo = ((EditForm)e.Tab.Form).FileName; else e.Tab.PersistedInfo = e.Tab.Form.Text; }