* IFrame:增加RemovePage接口

This commit is contained in:
Sunny 2021-05-09 11:31:19 +08:00
parent ae2587b4e6
commit 2897fbc2b3
8 changed files with 54 additions and 1 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -319,6 +319,40 @@ namespace Sunny.UI
} }
} }
} }
public bool RemovePage(int pageIndex)
{
if (pageIndex < 0) return false;
foreach (var item in PageItems)
{
if (item.Value.PageIndex == pageIndex && item.Key != null)
{
TabPage tabPage = item.Key;
tabControl.RemoveTabPage(tabPage.TabIndex);
PageItems.TryRemove(item.Key, out _);
return true;
}
}
return false;
}
public bool RemovePage(Guid guid)
{
if (guid == Guid.Empty) return false;
foreach (var item in PageItems)
{
if (item.Value.PageGuid == guid && item.Key != null)
{
TabPage tabPage = item.Key;
tabControl.RemoveTabPage(tabPage.TabIndex);
PageItems.TryRemove(item.Key, out _);
return true;
}
}
return false;
}
} }
public class NavMenuItem public class NavMenuItem

View File

@ -110,6 +110,10 @@ namespace Sunny.UI
public void AddPage(UIPage page) => Helper.AddPage(page); public void AddPage(UIPage page) => Helper.AddPage(page);
public bool RemovePage(int pageIndex) => Helper.RemovePage(pageIndex);
public bool RemovePage(Guid guid) => Helper.RemovePage(guid);
public void AddPages(params UIPage[] pages) public void AddPages(params UIPage[] pages)
{ {
foreach (var page in pages) AddPage(page); foreach (var page in pages) AddPage(page);

View File

@ -615,5 +615,9 @@ namespace Sunny.UI
void SelectPage(int pageIndex); void SelectPage(int pageIndex);
bool TopMost { get; set; } bool TopMost { get; set; }
bool RemovePage(int pageIndex);
bool RemovePage(Guid guid);
} }
} }

View File

@ -114,7 +114,7 @@ namespace Sunny.UI
public UIPage AddPage(UIPage page, Guid guid) public UIPage AddPage(UIPage page, Guid guid)
{ {
page.PageGuid = guid; page.PageGuid = guid;
return AddPage(page); ; return AddPage(page);
} }
public UIPage AddPage(UIPage page) public UIPage AddPage(UIPage page)
@ -128,6 +128,17 @@ namespace Sunny.UI
{ {
MainTabControl.SelectPage(pageIndex); MainTabControl.SelectPage(pageIndex);
} }
public bool RemovePage(int pageIndex)
{
return MainTabControl.RemovePage(pageIndex);
}
public bool RemovePage(Guid guid)
{
return MainTabControl.RemovePage(guid);
}
#endregion IFrame实现 #endregion IFrame实现
} }
} }