デザイナを使用しているときに発生する唯一の事柄は、.designer.csファイルのフォームのアイテムの初期化(InitializeComponentメソッド)が生成されることです。これはどんな方法でもパフォーマンスに影響を与えるべきではなく、フォームが構築されたときにのみ発生します。
だから、あなたには、いくつかの特定のニーズやレイアウトの計算を持っていない限り、私は手でそれをしないだろうが、私はデザイナーを使用します。それは素早く、視覚的です。また、アプリケーションをコンパイルして実行することなく、フォームレイアウトを表示できます。
レイアウトロジックを手作業で作成した経験はありましたが、動的に作成されたコントロール(設計時には未知のコントロールの量)が必要でした。それ以外デザイナーを使用しない理由はわかりません。
MONO部分については、互換性がないとは思わない。デザイナーは単にコードを生成するだけです。私はMONO機能の完全なリストを認識していませんが、コード生成siplyはレイアウトロジックと他のいくつかのコントロールのプロパティを使用しているため、MONOがどうやって同じことをするのか分かりません。しかし、私はモノとの実際の経験がないので、誰かが確認する必要があります。
編集:
特定のコントロール(特にカスタムコントロールの場合)の初期化は、特定の順序で初期化されなければならないシナリオもあります。その後、デザイナーによるこれらのコントロールの初期化に頼ることはできません。ただし、順序は関係ありません他のすべてのコントロールのデザイナを使用することはできます。
"オーバーヘッド"を定義します。一般的に、デザイナーによるカスタマイズは限られています。私はあなたがそれらに変更することができればWPFとXAMLをお勧めします。 – Raynos
MONOのサポートを受けていればいいと思います。残念ながら、MONOは.NET 2.0以前しかサポートしていません。私はWin XP SP2を使用しているので、.NET 2.0以降は何も実行されません。 (ただし、.NET 4.0は例外ですが、まだIDEは作成されていません)。 – ApprenticeHacker
また、UIからロジックをできるだけ分離することは非常に良い方法です。手でプログラミングしても、別の機能(デザイナーと同じように)で別ファイルに分割するのは良いでしょう部分クラス)。レイノスはWPF/XAMLを提案していました。 –