ピクセルの位置を指定して winform フォームにコントロールを配置する代わりに、html でフォームをレイアウトするのと同じようにレイアウトしたいと思います。これにより、スケーリングが向上します(大きなフォントなどの場合)。
xml でフォームを定義し、html のようにレイアウトできるレイアウト ライブラリを知っている人はいますか?
ピクセルの位置を指定して winform フォームにコントロールを配置する代わりに、html でフォームをレイアウトするのと同じようにレイアウトしたいと思います。これにより、スケーリングが向上します(大きなフォントなどの場合)。
xml でフォームを定義し、html のようにレイアウトできるレイアウト ライブラリを知っている人はいますか?
.NET フレームワークのTableLayoutPanelとFlowLayoutPanelを確認しましたか? それはあなたが探しているものかもしれません。
ええ、それはWPFと呼ばれます:)
真剣に、WinForms 2.0 には、場所とサイズを設定せずにコントロールを配置できる新しいパネル タイプがいくつかあります。FlowLayoutPanel と TableLayoutPanel です。
AutoSize プロパティも調べる必要があります。たとえば、ラベルの値が変更されたときのサイズ変更を処理します。また、ドッキングとアンカーも忘れないでください。
これらの概念を習得すれば、XML からコントロールに変換する小さなパーサーを作成することは、本当に必要な場合はそれほど難しくありません。
これに最適なものがあるかどうかはわかりません。
MyXAML は、バイナリにフォームを埋め込むのではなく、XML にフォームを追加できるようにすることを数年前に開始しました。そのプロジェクトが死んでいるかどうかはわかりません。
WinForm には既にフロー レイアウト コントロールがあります
ただし、この種のことを適切に行いたい場合、唯一の答えは WPF に移行することだと思います。
私はすでにMyXAMLのようなものを持っています-私の画面はすでにxmlファイルからロードされています。MyXAMLと同じ問題があります。それは、コントロールをピクセル位置で配置する必要があるのに対し、自動フローやテーブルなどを備えたhtmlのようなものが必要なことです。
TableLayoutPanelが私が探しているものかもしれないと思います。
WinForms の代わりに Windows Presentation Foundation (WPF) の使用を検討することもできます。WPF には、スケーラブルな UI の定義に適した XML 宣言型マークアップ言語 (XAML) があります。
私が知っている唯一のものは、LayoutControlと呼ばれるDevExpressのサードパーティです..