[英]How to control tabpage using listview or tree view
有許多方法可以實現。 首先要獲得布局,我將使用表格布局面板作為表單中最頂層的控件並將其設置為2列。 左列將是列表視圖,右列將顯示具有當前所選列表視圖項的關聯頁面。
我會為每個可能的列表視圖項創建一個簡單的模型,例如
public class PageViewItemModel()
{
public string ItemDescription { get; }
public UserControl CustomUserControlForViewItem { get; }
public PageViewItemModel()
{
// Initialize the associated custom user control here
CustomUserControlForViewItem = new YourCustomUserControlClass();
// Set the display name for the list view
ItemDescription = MyListViewItemName;
}
}
當然,您可以創建一個通用類並使用構造函數參數來完成所有這些操作,而不是為列表視圖中的每個可能的項目創建一個模型。 但是,在擁有ListViewItemModel對象之后,可以將它們添加到列表視圖中,並將DisplayName屬性設置為“ ItemDescription”,以便它在ListView中顯示該值。
然后在父窗體中創建一個事件處理程序,該事件處理程序處理ListView的SelectedIndexChanged事件,該事件將關聯的自定義用戶控件添加到TableLayOutPanel的右列
public void OnSelectedIndexChanged(object sender, EventArgs e)
{
int selectedIndex = myListView.SelectedIndex;
PageViewItemModel model = myListView.Items[selectedIndex];
myTableLayOutPanel.Controls.Add(model, 0, 1);
}
這就是要旨。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.