1

.NET アプリケーションと同じ結果を得ようとしています (詳細については、TabControl ボタンを非表示にしてスタックされた Panel コントロールを管理するリンクを参照してください) が、MS .NET ランタイムの代わりに MONO ランタイムを使用しています。

実際には、カスタム コントロールが MONO ランタイムを使用して実行されると、基になるメッセージがコントロールに送信されず、タブ ページが表示されます...

リンクされたものほどエレガントなポータブルソリューションはありますか? 不可能な場合、実行時にタブを削除/追加する以外に、どのような回避策がありますか?

4

1 に答える 1

1

私はUIをそのような「魔法」に依存するように設計することは決してありません。

私の好ましいアプローチは、

  1. ページをTabPageではなくUserControlとして設計し、UserControl.Dock=System.Windows.Forms.DockStyle.Fill;を設定します。
  2. TabControlの代わりにPanelを使用してください。
  3. すべてのUserControlをパネルに追加し、そのうちの1つだけをVisible=trueに設定します。一度に。

Win32 APIが呼び出されないため、このソリューションはクロスプラットフォームです。

于 2010-05-22T02:43:27.093 に答える