2016-11-28 3 views
1

2番目のフォームを開き、最初のフォームを開いた特定の場所に配置する必要があります。vb6のフォームにフォームを配置

説明:元のフォームにパネルを追加しました。コントロールを追加していたときに、コントロールを追加できないというメッセージが表示されました。だから...

元のフォームが画面上でドラッグされても、2番目のフォームで覆い隠しておく必要がある既存のパネルがあります。 2番目のフォームはそれをカバーしますが、私は最初のフォームを参照する方法を知る必要があります。

私が見つけることができる唯一の参考資料は、別のフォームではなく画面上に配置する方法です。

+3

優しさ...あなたはいくつのコントロールを追加していましたか?これらの制限が存在する理由があります。彼らは単に恣意的ではありません。複数のフォームを作成してそれらを回避しようとすると、非常に遅いアプリケーションが生成されます。お勧めしません。また、Zオーダー、フォーム間のコミュニケーションなど、多くの問題にぶつかります。これらのコントロールは何をしていますか?おそらくそれを行う良い方法はありますが、それ以上の情報がなければ何ができるかを推測することはできません。 –

+0

私はこのプログラムを継承しました。それは古くてかさばり、非常に畳み込まれています。私はあなたに完全に同意しますが、問題の周りに良い方法を見ることができません。 – Obfuscated

答えて

3

これを行う簡単な方法はありません(フォームは別のフォームをホストできません)。遭遇した制限は、フォーム上で指定できるコントロールの最大数です(254、https://msdn.microsoft.com/en-us/library/aa240865(v=VS.60).aspx参照)。

ただし、制御配列はその制限に1回しかカウントされません。したがって、すべての入力フィールドに新しいコントロール(たとえばテキストボックス)を追加するのではなく、テキストボックス配列の新しい要素として追加します。コードの違いは、一意の名前の代わりにインデックスでテキストボックスを参照するということです(定数をインデックスパラメータとして使用して、名前、住所などの異なる入力フィールドを識別することができます)。

関連する問題