問題タブ [mdiparent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
828 参照

c# - LayoutMDI 1 つを除くすべての子フォーム

私は MDI アプリケーションを持っており、子フォームを使用して作成された一種のメニューを持っているので、親ウィンドウ内にとどまります。私が望むのは、このフォーム以外のすべてに対して LayoutMDI (またはいくつかのバリエーション) を呼び出して、カスケード、タイル張りなどを行うことですが、それを行う方法が見つからないようです。

LayoutMDI をオーバーライドしようとしましたが、それは許可されておらず (仮想ではありません)、1 つのウィンドウを除外するために if ステートメントをどこでも叩くことができないようです。

何か案は?

ありがとう。

0 投票する
4 に答える
9566 参照

vb6 - フォームをVB6の中央に配置します

私は社内で使用するプログラムを書いていますが、以下の問題に遭遇しました。

MDIの親の最大化されたフォームを背景として使用するときに、子フォームを画面の中央に配置するにはどうすればよいですか。

0 投票する
4 に答える
4849 参照

c# - Windowsフォームウィンドウのウィンドウ状態を設定するためのヒント

MDI子フォームを開くWindowsフォームアプリケーションがあります。これらのフォームを選択するときは、ウィンドウ状態を最大化に設定またはレンダリングする必要があります。問題は、開いているフォーム間を移動すると、通常のウィンドウ状態に戻り、ウィンドウ状態を再び最大化に設定すると、通常状態から最大化状態への遷移が表示され、見栄えがよくないことです。

最大化されたウィンドウ状態で多くのMDI子を開くMDI親フォームを持つWindowsアプリケーションをどのように作成できますか?

0 投票する
2 に答える
45443 参照

c# - windowstate=最大化されたmdiコンテナフォーム内に子フォームを表示する方法は?

windowstate= maximum の mdi コンテナー フォーム内に子フォームを表示するにはどうすればよいですか?

子フォームの読み込み時にこれらのコード行を下に置くと (メイン フォームのメニュー項目をクリックして)、子フォームは親の位置を失い、親フォーム内に表示されません。

0 投票する
5 に答える
8045 参照

c# - .net の MDI コンテナー フォームの背景色または背景画像を変更する

アプリケーションで親 mdi の背景色または背景画像を変更する必要があります。背景色を変更したり、背景画像を指定しようとしましたが、うまくいきません。また、フォーム内のコントロールをループして mdiclient を取得し、その背景色を変更しようとしましたが、同じ結果はありませんでした。

0 投票する
2 に答える
9993 参照

vb.net - vbで別のmdi子フォームを開く方法は?

メインのmdi親にvbを使用して、別のmdi子フォームを開く方法は?

0 投票する
1 に答える
1464 参照

vb.net - 最大化されたMDIフォームの動作

私のプログラムはいくつかのブラウザを表示します。ブラウザから、ユーザーはレポート付きの最大化されたMDIフォームを開くことができます。ユーザーがレポートを閉じると、ブラウザーを使用した最初のMDIフォームが最大化されます。

2つのフォームには同じMDI親があります。この動作を変更して、2番目のレポートを閉じた後に最大化せずに最初のブラウザーフォームを残すことはできますか?

0 投票する
1 に答える
1323 参照

winforms - MDI 子フォームの読み込み

複数の子フォームをループから MDI 親フォームに読み込みます。それらは一度に 1 つずつ表示されます。作成したフォームをまとめて表示したい。それらがすべて作成された後、.Show() メソッドのみを使用してみましたが、一度に 1 つしか表示されません。

0 投票する
2 に答える
860 参照

.net - VB.Net 3.5 MDI アプリケーション - N メモリが使用された後、MDIChild フォームが開かなくなる

誰かが助けてくれることを願っています!

VB6 から変換されたかなり大きな VB.Net MDI アプリケーションがあります。MDIChild フォームを開かずに最初に起動すると、約 35,000K が使用されます。より多くのフォームが開かれる (ただし、閉じられない) と、(タスク マネージャーによると) メモリ使用量はフォームごとに約 4,000K まで上昇します。(TM はアプリケーションに割り当てられたメモリのみを表示し、実際に使用されたメモリは表示しないことを認識しています。)

問題は、割り当てられたメモリが特定のポイントに達すると (ターゲット マシンで使用可能なメモリの量によって異なります)、1 つまたは複数の開いているフォームが閉じられるまで、フォームを開くことができなくなることです。開くことができるフォームの量の「制限」は、マシンの使用可能なメモリに依存するようです。

例: - マシン全体で 512M しかない仮想マシンでは、約 7 ~ 8 フォームのように見え、割り当てられたメモリは約 80,000K になります。- 3GB のターミナル サーバー マシンで、他のさまざまな負荷の高いアプリケーションも実行していますが、約 20 以上のフォームと約 100,000 ~ 105,000K のメモリ割り当てで停止します。

perfmon を使用して、リークがあるかどうかを確認してみました。これは、安定した使用を示しています。

ただし、フォームを閉じても、割り当てられたメモリは、閉じられた最初のフォームでは約 3000K だけ減少し、その後閉じられたフォームごとに 100K しか減少しません。その後、さらにいくつかのフォームを追加するとメモリが増加し、いくつかを閉じると、同じ -3000K、-100K のメモリ削減パターンが再び発生します。

これまでにこれに遭遇した人はいますか?これは少しショーストッパーのように見えるので、誰か助けてください!返信をお待ちしております。

ちなみに、元のVB6バージョンにはこの問題はなく、各フォームを閉じると、アプリが割り当てられたよりも少ない量をリリースするため、メモリ割り当てが徐々に増加するのではなく、最初のメモリ割り当てに戻ります。

編集:開発中に同じエラーが発生しました。UserControl で WIN32Exception がスローされているようです。エラーは「ウィンドウ ハンドルの作成中にエラーが発生しました」です。

ありがとう、よろしく、デュアン。

0 投票する
1 に答える
2211 参照

c# - c#メインメニューとmdiフォーム

これまでの私の人生では、.net開発者として、mdiフォームを多用して、たとえば「モジュール1」、「モジュール2」などの特定の「メニューポイント」を表示してきました。

私はこれを次のように行っています:

  • 「isMdiContainer」を「true」に設定して親フォームを作成します
  • mdiコンテナにメニューストリップを作成します
  • フォームが1回だけ表示されるように、シングルトンを実装する子フォームを作成します
  • 次のコードのようなものをmdiコンテナに追加します。

}

さて、これは明らかにうまくいきます。しかし、維持するのは苦痛です。別の子フォームを追加するたびに、次のことを行う必要があります。

  • シングルトンを実装する
  • mdiコンテナに対応するプロパティを作成します
  • インスタンスを取得し、mdiの親を設定します
  • 他のボタンがクリックされたときに新しいフォームを非表示にする
  • 対応するボタンがクリックされたときにフォームを表示し、他のすべてのフォームを非表示にします

これをアーカイブするためのよりエレガントな、または効率的なアプローチを言うことができますか?