0

Infragistics NetAdvantage WinFormsバンドル(v 2012 2)のUltraToolbarsManagerを使用して、既存のWinFormアプリケーションにリボンツールバーを導入しています。

メインのMDIコンテナフォームにメインリボンを設定してから、子フォーム内のマネージャに追加のリボンを設定しました。
MdiMergeableプロパティは、両方の形式でtrueに設定されます。

子フォームは、MDI親で使用可能なすべての領域に入力するように設定されています。----
コントロールFormBorderStyle = FormBorderStyle.None
ボックスDock = DockStyle.Fill
なし

問題は、子フォームをshow()すると、すべての領域を取り、ツールバーが正しくマージされますが、フォームの境界線が表示されることです。フォームの上部の境界線をダブルクリックすると、境界線が消え、MDIの子が正しく表示されます(または、必要に応じて)。

このようにフォームのスタイルを変更した場合:
Dock = DockStyle.Fill =>WindowState = FormWindowState.Maximized

フォームトップはリボンの下に入り、リボンによって部分的に隠されています。

4

2 に答える 2

1

DockをDockStyle.Fillに設定しない場合、フォームの境界線が表示される問題は発生しません。ウィンドウが最大化されると、MDI親の領域全体が引き続き使用されます。

DockStyle.Fillを設定する特別な理由がない限り、DockStyle.Noneのままにしておくことをお勧めします。

リボンを削除し、代わりにMicrosoft MenuStripを使用すると、同様の動作が見られるため、リボンがこの動作に影響を与えないように見えることに注意してください。

于 2013-03-15T19:19:10.320 に答える
0

次のプロパティを設定します。

  • FormBorderStyle = FormBorderStyle.None
  • Dock = DockStyle.None

Layoutフォームオブジェクトの作成中に、この設定を表示(イベント)の直前に延期します。

  • WindowState = FormWindowState.Maximized

そして、フォームが正しく表示されます。

フォームオブジェクトの作成中にこの値を設定すると、MDIの子の使用可能領域は、リボンが占めるスペースを考慮しないと思います(リボンがリボンの一部を占める前に、使用可能な領域が評価される可能性があります)。
の設定をレイアウトイベントまで延期するWindowState = FormWindowState.Maximizedと、MDIの子の使用可能領域は、リボンが占めるスペースを考慮に入れます。

于 2013-03-20T09:01:36.737 に答える