私は、数年前から存在するビジュアル スタジオ 2005 vb.net Windows フォーム プロジェクトに取り組んでいます。デフォルトのテキストボックス、ラベル、ドロップダウン、データグリッド、日時ピッカーなど、すべて標準的なものでいっぱいです。最終的な結果は、非常に灰色の古いプロジェクトです。
このプロジェクトを新鮮でおしゃれに見せるための最善のアプローチは何ですか? すべての新しいフォーム オブジェクトを使用してソリューション全体を書き直すのは避けたいのですが、それは避けられますか?
私は、数年前から存在するビジュアル スタジオ 2005 vb.net Windows フォーム プロジェクトに取り組んでいます。デフォルトのテキストボックス、ラベル、ドロップダウン、データグリッド、日時ピッカーなど、すべて標準的なものでいっぱいです。最終的な結果は、非常に灰色の古いプロジェクトです。
このプロジェクトを新鮮でおしゃれに見せるための最善のアプローチは何ですか? すべての新しいフォーム オブジェクトを使用してソリューション全体を書き直すのは避けたいのですが、それは避けられますか?
今日は実際にダイアログを整えていました。その多くは、使用しているアプリケーションの種類と、それが実行されているOSによって異なります。これらのヒントのいくつかは、確かに物事をジャズアップするのに大いに役立ちます。
コントロール間に適切な間隔を確保します—すべてを一緒に詰め込まないでください。宇宙は魅力的です。スペースが広い場合は、コントロールの流れを少し変えてみることもできます。
新しい3Dで光沢のある画像をいくつか入れます。カスタム警告ダイアログに大きな黄色の感嘆符を付けることができます。古いツールバーボタンを新しいものに置き換えます。私が使用して気に入っている2つのライブラリは、GlyFXとIconExperienceです。無料のものもあります。理想的には、グラフィックアーティストに、アプリケーションが使用する一般的なアクションの間に入力する特定のアクション用にいくつかのカスタムアクションを作成してもらいます(すべてが一緒になっていることを確認してください)。それはそれを派手に見せるために大いに役立つでしょう。
別のフォントを試してください。タホマはいい人です。多くの場合、デフォルトのフォントはMSSansSerifです。あなたはもっとうまくやることができます。ただし、TimesNewRomanとComicSansは避けてください。また、太字の大きなブロックは避けてください。慎重に使用してください。通常、すべてのフォントを同じにし、テキストの特定のビットを区別するために、異なるフォントのみを慎重に使用する必要があります。
特定のコントロールに落ち着いた色を追加します。これはトリッキーなものです。あなたはいつも落ち着いた色を使いたいと思っています。通常は明るい色やはっきりとした色はありませんが、色は何かを示す必要があります。グリッドがある場合は、それを使用して論理的なグループ化を示すことができます。これは滑りやすい坂道です。ユーザーがシステムの色を変更すると、色の見え方が変わる可能性があることに注意してください。理想的には、いくつかの色のテーマ、または色を変更する機能を提供します。
目を見張るようなものではなく、使いやすさを考えてください。最も一般的な行動方針を明確にします。DevExpressのMarkMillerが、ユーザーインターフェイスデザインの科学について素晴らしい講演をしています。私は実際にそれのビデオを持っていて、少しのクリーンアップでそれをオンラインで投稿することができるかもしれません。
いくつかの高品質のサードパーティ製コントロールに投資します。すべてのコントロールを置き換えるのは面倒かもしれませんが、たとえばデフォルトのグリッドを使用している場合は、DevExpressまたは他のコンポーネントベンダーの優れたグリッドを実際に使用することになります。ベンダーが異なれば、コンポーネントの使用方法に関する考え方も異なるため、それらを交換するのは少し面倒な場合があることに注意してください。小さな水から始めて水をテストし、すべてを交換する前に、本当に複雑なことを試してください。醜いグリッドよりも悪いのは、醜いグリッドときれいなグリッドが混在していることだけです。一貫性は黄金です!
また、MicrosoftがOffice 2007で行ったように、古いツールバーとメニューをリボンコントロールに置き換えることも検討できます。そうすれば、誰もがあなたが本当にアップタウンだと思うでしょう。ここでも、UI全体を刷新する必要があるとは考えずに、主要なコンポーネントとUI要素を置き換えるだけです。
もちろん、タブの順序などの基本に注意してください。一貫性、一貫性、一貫性。
一部のアプリは本格的なスキニングに適していますが、そうでないアプリもあります。一般的に、頻繁に使用される派手なものは必要ありません。
また、コントロールのFlatStyleプロパティがStandardではなくSystemに設定されていることも確認してください。
これにより、アプリがラジオボタンや標準ボタンなどのシステムデフォルトを使用するようになります。これにより、すべてのアプリがフラットなWin 2000の外観から取得され、実行しているOSに応じてXPまたはVistaのブリンブリンが提供されます。
優れたサードパーティのコントロールライブラリを購入することをお勧めします-InfragisticsとDevExpressはほんの数例です。これらのライブラリのほとんどは、既存のコントロールの上に新しい互換性のあるコントロールをドロップする機能を提供します。たとえば、デフォルトのEditBoxを拡張バージョンに置き換えることができます。また、リボンなどのおしゃれな新しいUIや、人々が常に望んでいるOutlookスタイルのナビゲーターにアクセスすることもできます。
これらのライブラリのいずれかを使用することを特にお勧めする理由は、既存のアプリケーションで比較的使いやすいように設計されており、サポート、コミュニティ、およびあらゆる種類のアップグレードパス/オプションを利用できるためです。
欠点:お金。
これは意見としての「答え」ではありません。
数年前に作成した WinForms プロジェクトを、フォームにファンシーな青色のグラデーションの背景などを与えることで華やかにしようとしましたが、XP ではかなり見栄えがしました。しかし、Vista では場違いに見えました。カスタムペイントを取り除き、フォームを「戦艦グレー」に戻すと、見栄えがはるかに良くなりました.
多くのアプリケーション (特に MS から) がカスタム ウィンドウ クロームなどを備えて登場していますが、それは Windows が提供する優れた一貫性を損なうだけです。
私が言いたいのは、アプリケーションをファッショナブルに見せることについてあまり心配する必要はないということです。SystemColors 列挙に基づいて色を維持する場合は、Windows がそれを行うことができます。
このプロジェクトを新鮮でおしゃれに見せるための最善のアプローチは何でしょうか?
私ができる最善のことは、コントロールが論理的に順序付けられ、それらの間に十分な間隔があることを確認し、必要に応じてグループボックス/ラベルなどを追加することです。
デフォルトの配色である「灰色の海」を変更しようとすると、アプリはがらくたに見えてしまいます。
すべてのデフォルトコントロールをサブクラス化し、それらの外観をオーバーライドできます。確かに、プロジェクト全体を調べて、TextBoxのすべての参照をMyTextBoxに変更する必要がありますが、デフォルトのプロパティとメソッドはすべて引き続き機能します。サードパーティベンダーと一緒に行く場合、同じことを保証することはできません。このアプローチのもう1つの利点は、一度に1つのコントロールを選択して、アプリケーションの増分アップグレードを実行できることです。
これは、既存の「灰色の古い外観」のプロジェクトがコードに関してどのように構成されているかによって異なります。たとえば、データ アクセス コードはデータ アクセス レイヤーの UI から分離されていますか? ビジネス ロジックはビジネス ロジック レイヤーにありますか? もしそうなら、おしゃれな外観のために UI をきれいにすることは比較的簡単なはずです。
「ボタン クリック」イベントにすべてが含まれている場合、私の謙虚な意見では、書き直すことが唯一の方法です。そうしないと、既存のコード ベースを操作するのに時間がかかりすぎてしまいます。
乾杯