そのばかMusiGenesisに耳を傾けないでください。Windowsモバイルデバイスのさまざまな画面解像度を処理するためのはるかに優れた方法は、フォームの継承を使用することです。これは、最小限の労力で既存のCFアプリケーションに追加できます。
基本的に、各フォームは標準の240x320画面用に設計します。新しい解像度(たとえば240x240)のフォームを再配置する必要がある場合は、プロジェクトに新しいフォームを追加し、元の240x320フォームから継承させます。
public partial class frmDialog240x240: frmDialog
フォームだけでなく:
public partial class frmDialog240x240: Form
いつものように。元のフォームでは、各コントロールのModifiersプロパティを(デフォルトのPrivateではなく) Protectedに設定する必要があります。新しいフォームのデザイナには、継承元のフォームのすべてのコントロールが表示され、新しい画面のサイズに合わせて、必要に応じて移動したりサイズを変更したりできます(これは元のフォームには影響しません)。レイアウト)。
プログラムの実行中は、実行中のデバイスの画面解像度を確認して適切なフォームを作成するのは簡単です(これにはファクトリメソッドが適しています)。新しいフォームは古いフォームからすべてを継承しますが、新しいカスタムレイアウトを使用します。
このアプローチでは、コードの重複がないため、コードの重複を回避できます。