2

Flex にはViewStackコンポーネントがあります。C# には同様のコントロールがありますか?
もしそうなら、どれ?そうでない場合、どのようにして同様の動作を作成しますか?

4

3 に答える 3

5

はい、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);
  }
}
于 2010-02-05T14:20:34.527 に答える
1

いいえ、同じ動作を提供する標準コントロールはありません。

ただし、同様の動作を得るには、ビュー スタック内の各項目に対して新しい UserControl を作成し、これらを親フォームの同じ場所に同じ幅/高さで追加するだけです。

ヘルパー メソッドを使用すると、すべてのユーザー コントロールを簡単に非表示にしてから、入力パラメーターに基づいて特定のユーザー コントロールを表示できます。

UserControls の主な利点は、デザイナーを使用して個別のスタック項目を視覚的に作成できることです。考えられる欠点は、スタックに多くのアイテムがある場合、または各スタック アイテムが複雑な場合、メモリ使用量が非常に大きくなる可能性があることです。

于 2010-02-05T13:28:22.287 に答える
0

私はそれがネイティブに存在するとは思わない。おそらく、Visibleプロパティで遊ぶ必要があります。

于 2010-02-05T13:05:31.957 に答える