Flex にはViewStackコンポーネントがあります。C# には同様のコントロールがありますか?
もしそうなら、どれ?そうでない場合、どのようにして同様の動作を作成しますか?
3 に答える
はい、TabControl コンポーネントはこのように動作します。タブを非表示にするだけです。プロジェクトに新しいクラスを追加し、以下に示すコードを貼り付けます。コンパイル。ツールボックスの上部から新しいコントロールをフォームにドロップします。タブは設計時にも表示されるため、ページを簡単に編集できます。ただし、実行時には非表示になります。ビューを選択するには、SelectedTab または SelectedIndex プロパティを使用します。
using System;
using System.Windows.Forms;
class ViewStack : TabControl {
protected override void WndProc(ref Message m) {
// Hide tabs by trapping the TCM_ADJUSTRECT message
if (m.Msg == 0x1328 && !DesignMode) m.Result = (IntPtr)1;
else base.WndProc(ref m);
}
}
いいえ、同じ動作を提供する標準コントロールはありません。
ただし、同様の動作を得るには、ビュー スタック内の各項目に対して新しい UserControl を作成し、これらを親フォームの同じ場所に同じ幅/高さで追加するだけです。
ヘルパー メソッドを使用すると、すべてのユーザー コントロールを簡単に非表示にしてから、入力パラメーターに基づいて特定のユーザー コントロールを表示できます。
UserControls の主な利点は、デザイナーを使用して個別のスタック項目を視覚的に作成できることです。考えられる欠点は、スタックに多くのアイテムがある場合、または各スタック アイテムが複雑な場合、メモリ使用量が非常に大きくなる可能性があることです。
私はそれがネイティブに存在するとは思わない。おそらく、Visibleプロパティで遊ぶ必要があります。