1

MDI 子フォームが表示されると、タイトル バーが一瞬表示されます。その後、フォームは正常にロードされます。タイトル バーとフォームの境界線を表示せずにフォームを読み込む方法はありますか。これが起こることです...

代替テキスト

代替テキスト

4

2 に答える 2

3

スクリーンショットからはわかりません。しかし、苦情はおなじみのものです。MDI は、最大化された子ウィンドウを本当に嫌います。新しい子ウィンドウを表示して最大化すると、歌と踊りを経る必要があります。まず、現在の子を復元して、最大化されないようにします。次に、新しい子を作成し、それにフォーカスを設定します。次に最大化します。これらの中間ステップは目に見えており、子の描画に負荷がかかる場合、かなりの量のちらつきが発生する可能性があります。あなたのは高価に見えます。塗装を抑えることはできません。

MDI 子ウィンドウを常に最大化して表示する場合、MDI は不適切なフォーム モデルです。シンプルなフォームを使用して、子の「ウィンドウ」ユーザー コントロールを作成します。TopLevel プロパティを false に設定して、現在の子フォームをコントロールに変えることで、現在の子フォームをレスキューすることもできます。FormBorderStyle を None に、Visible を true に設定します。

于 2010-10-15T15:51:32.247 に答える
1

MDI子ウィンドウが最大化されていない場合でも、この問題が発生し、子フォームが表示されたときに子のタイトルバーが一時的に表示されました。子フォームの上部を親の高さに設定して、表示中にフォームが見えないようにすることで回避しました。次に、子のトップを 0 に戻します。

親のサイズが変更されたときに子のサイズが自動的に変更されるように、子を親にドッキングしようとするまで、これは機能しました。これで振り出しに戻りました。今回は、非表示のパネルを親に追加し、パネルのサイズと位置を親の MdiClient コントロールのサイズと位置に設定し、子を表示する直前にパネルを表示し、このときにパネルを非表示にすることで、この問題を克服しました。終わらせる。「きれいではありませんが、より良い方法が見つかるまでは機能します。

于 2011-11-21T16:24:25.163 に答える