我有一個tabcontrol用於在應用程序中顯示多個圖像文件。當只有一個tabpage顯示時,我想刪除tabpage標題,所以我可以使用該屏幕空間來顯示圖像。 (這與在Firefox中取消選擇「始終顯示標籤欄」類似。)Tabcontrol:如何刪除標題頁標題?
這是可以使用tabcontrol嗎?或者,當我只打開一個文件(選項卡)時,我最好使用面板控件?
我有一個tabcontrol用於在應用程序中顯示多個圖像文件。當只有一個tabpage顯示時,我想刪除tabpage標題,所以我可以使用該屏幕空間來顯示圖像。 (這與在Firefox中取消選擇「始終顯示標籤欄」類似。)Tabcontrol:如何刪除標題頁標題?
這是可以使用tabcontrol嗎?或者,當我只打開一個文件(選項卡)時,我最好使用面板控件?
是的,這是可能的。爲您的項目添加一個新類並粘貼下面顯示的代碼。編譯。將新的控件從工具箱的頂部拖放到表單上。
using System;
using System.Windows.Forms;
public class MyTabControl : TabControl {
private int mPages = 0;
private void checkOnePage() {
if (IsHandleCreated) {
int pages = mPages;
mPages = this.TabCount;
if ((pages == 1 && mPages > 1) || (pages > 1 && mPages == 1))
this.RecreateHandle();
}
}
protected override void OnControlAdded(ControlEventArgs e) {
base.OnControlAdded(e);
checkOnePage();
}
protected override void OnControlRemoved(ControlEventArgs e) {
base.OnControlRemoved(e);
checkOnePage();
}
protected override void WndProc(ref Message m) {
// Hide tabs by trapping the TCM_ADJUSTRECT message
if (m.Msg == 0x1328 && !DesignMode && this.TabCount == 1) m.Result = (IntPtr)1;
else base.WndProc(ref m);
}
}
我不記得隱藏標籤標籤的任何方法。我的推薦:
讓面板中的標籤內容。當只有一個選項卡時,移動面板放置以替換tabcontrol或某種特性。
嘗試使用這裏給出:)答案..設置選項卡
它工作的區域! (即使在vb。) – xpda 2009-12-01 06:41:28
好的那裏! +1 – 2009-12-01 08:16:53
這似乎沒有調用checkOnePage正常工作。我應該保留這個原因嗎? – xpda 2009-12-01 17:57:11