2010-05-18 51 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