我很清新C#。我有疑問,請任何人澄清我。如何隱藏c#中的標籤標題?
首先,當我點擊第一種形式的按鈕時,默認情況下應該打開一個只有一個選項卡的新窗體(基本上這個窗體將有3個選項卡)。
在默認選項卡中,我將有一個comboBox
列表中有2個項目。如果我選擇了特定項目,則相應的選項卡應該出現在默認選項卡 旁邊。
我已經做了一切,但我沒有得到如何隱藏除默認的選項卡以外的選項卡,以及如何顯示從組合框中選擇項目時顯示相應的選項卡。請幫幫我。
預先感謝您。
我很清新C#。我有疑問,請任何人澄清我。如何隱藏c#中的標籤標題?
首先,當我點擊第一種形式的按鈕時,默認情況下應該打開一個只有一個選項卡的新窗體(基本上這個窗體將有3個選項卡)。
在默認選項卡中,我將有一個comboBox
列表中有2個項目。如果我選擇了特定項目,則相應的選項卡應該出現在默認選項卡 旁邊。
我已經做了一切,但我沒有得到如何隱藏除默認的選項卡以外的選項卡,以及如何顯示從組合框中選擇項目時顯示相應的選項卡。請幫幫我。
預先感謝您。
TabControl有多個TabPages,每個TabPages都有一個Visible屬性。
(假設你使用的WinForms)
TabPage的是不可見的屬性,你必須刪除選項卡,然後再添加它,這裏是一段簡單的代碼:
private void Form1_Load(object sender, EventArgs e)
{
List<int> myList = new List<int>() {1,2,3,4,5 };
listBox1.DataSource = myList;
foreach (var item in tabControl1.TabPages)
{
MyTabPages.Add(item as TabPage);
}
}
List<TabPage> MyTabPages = new List<TabPage>();
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (MyTabPages.Count == 0)
{
return;
}
Int32 Index = listBox1.SelectedIndex;
if (Index >= 0 && Index <= MyTabPages.Count - 1)
{
if(tabControl1.TabPages.IndexOf(MyTabPages[Index]) < 0)
{
tabControl1.TabPages.Add(MyTabPages[Index]);
}
else
{
tabControl1.TabPages.Remove(MyTabPages[Index]);
}
}
}
我希望這幫助。
這些方法可以幫助你:
public void ShowTab(TabControl tabs, TabPage page)
{
tabs.TabPages.Add(page)
}
public void HideTab(TabControl tabs, TabPage page)
{
tabs.TabPages.Remove(page)
}
與標籤(tabPage1)與ComboBox控件名爲comboBox1默認選項卡工作的示例:
//Temporarly list to keep created tabs
List<TabPage> tempPages = new List<TabPage>();
private void Form2_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("tabPage2");
comboBox1.Items.Add("tabPage3");
}
public void RemoveTabs()
{
//Remove all tabs in tempPages if there are any
if (tempPages != null)
{
foreach (var page in tempPages)
{
tabControl1.TabPages.Remove(page);
}
tempPages.Clear();
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex >= 0)
{
RemoveTabs();
var newTabName = ((ComboBox)sender).SelectedItem.ToString();
var newtab = new TabPage(newTabName);
//Create the new tabPage
tabControl1.TabPages.Add(newtab);
//Add the newly created tab to the tempPages list
tempPages.Add(newtab);
}
}
是的,它是有用的。現在我怎樣才能將按鈕添加到這些相應的標籤頁? –
因爲你需要通過代碼刪除和添加tabpages,你必須編程添加控制到它我想。但說實話,我認爲你想做的事情,不要在WinForms中這樣做,只會讓事情變得更加困難。尋找另一個基礎設施/設置。 (不過WPF支持使用'Visibility.Collapsed'顯示和隱藏tabpages) – Jim
你說得對Visible屬性,但是這個代碼不是很好。我會發佈一個反例。 –