2010-05-18 52 views
1

我試圖得到一個.NET應用程序的相同結果(請參閱鏈接Hide TabControl buttons to manage stacked Panel controls瞭解詳細信息),但使用MONO運行時而不是MS .NET運行時。WinAPI魔術和單聲道運行時

Pratically,當使用MONO運行時執行自定義控制,基礎消息不被髮送到控制,使要顯示的標籤頁...

是否有一個便攜式解決方案,其是作爲優雅鏈接的?如果不可行,可能的解決方法是什麼(除了在運行時刪除/添加選項卡)?

回答

1

我從來沒有設計UI取決於這樣的「魔術」。

我的首選的方法是,

  1. 設計你的頁面作爲用戶控件,而不是TabPage的,並設置UserControl.Dock = System.Windows.Forms.DockStyle.Fill;
  2. 使用Panel而不是TabControl。
  3. 將所有UserControl添加到面板並僅設置其中一個Visible = true;一次。

然後這個解決方案是跨平臺的,因爲你沒有調用Win32 API。

+0

是的,這是一個很好的解決方案。最好是實現一個「模擬TabControl」UserControl,但是你的解決方案比這個更快。 – Luca 2010-05-24 05:24:35