1

子フォームを持つ MDI アプリに取り組んでいます。特定の条件が満たされると、子ウィンドウを表示する必要があります。

既に設計された frmDashboard をロードすることになっているメソッドloadDashboard()を持つclsDashbordという名前の別のクラスを作成しました 。コードを以下に示します。

 public void loadDashboard(String userName)
        {
            _Dashboard = new frmDashboard();
            _Main = new frmMDI();
           // _Dashboard.MdiParent = _Main;
            _Dashboard.Text = userName;
            _Dashboard.Show();

        }

MDI フォームのインスタンス変数であるMainにMDIParentを設定すると、フォームが表示されません。どうやってするの?

4

1 に答える 1

2

行「_Main = new frmMDI();」を見ると、スコーピングの問題のように見えます。

次の手順を実行します:

  1. 「ReferenceTable」という名前のクラスを作成します
  2. ReferenceTable に _Main という名前の静的変数を作成する
  3. set ReferenceTable._Main = new frmMain(); // Program.cs 内
  4. set childform.Parent = ReferenceTable._Main //Show() または showDialog() メソッドを呼び出す前に、すべての子フォーム コードで
于 2013-03-28T10:18:00.167 に答える