2

私はユーザー コントロールをいじっていますが、困惑していることに気づきました。私のフォームには、TitleScreen と MainScreen の 2 つのユーザー コントロールがあります。プログラムの実行時に TitleScreen を表示し、「新しいゲーム」ボタンをクリックしたときに非表示にする必要があります。その時点で MainScreen を表示する必要があります。残念ながら、これを行う方法がわかりません。

FormMain.cs

    #region Property Region

    public UserControls.MainScreen ControlMainScreen
    {
        get { return controlMainScreen; }
    }

    #endregion

    #region Constructor Region

    public FormMain()
    {
        InitializeComponent();

        controlMainScreen.Visible = false;
    }

    #endregion 

TitleScreen.cs

    public void btnNewGame_Click(object sender, EventArgs e)
    {
        this.Visible = false;
        FormMain.ControlMainScreen.Visible = true;
    }

明らかにうまくいきませんが、私が知っている方法はすべて試しました。また、実際に宣言を行っていないため(VSが行った)、controlMainScreenを静的にする方法もわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

2

親フォームへの参照を取得するParentFormには、プロパティである which を使用できます。UserControl

((YourFormsExactType)(this.ParentForm)).ControlMainScreen.Visible = false;
于 2013-05-09T06:03:00.337 に答える