2

vb.netアプリのスキンを作成したいのですが、ivegoogledにいくつかのものを作成しました。スキンされたvb.netアプリを見たことがあります。

しかし、それを説明している誰かを見つけようとするときはいつでも、それは製品の支払いへのリンクのようです。

誰かがこれに役立つ何かを持っていますか?


私はこれをプログラムで行うためのいくつかの無料の方法を見てきましたが、それを自分のユニークなプログラムに完全に変換させることはできないようです。

4

4 に答える 4

3

私がまだ学生だったとき(おそらく6年前)に、「スキン可能な」vb.net winformsアプリ(メディアプレーヤー)を作成したことを覚えています。

ややこしいですが、私がやった方法は次のとおりです。

  1. 透明色を選択します。この色を使用する場所はどこでも、アプリは透明になります (私はフクシア (#FF00FF) を使用しました。これは当時のビデオ ゲームの標準であったことを思い出します。

  2. 子コントロール (特定のボタン、スライダーなど) には命名規則を使用します。

  3. 手順 2 でコントロールのイメージを作成します。

  4. これらのコントロールに対して、幅 1 ピクセルのカラー コーティングされたプレース ホルダーを設定します。たとえば、青色のピクセルは再生ボタン、緑色のピクセルは一時停止ボタンなどです。プレースホルダーはコントロールの左上隅をマークしました。

  5. 実行時にコントロール (onclick イベントを含む実際の画像) を動的に生成し、それらをプレースホルダーの上に配置します。

これを行うためのより良い方法があると確信していますが、それは私の大雑把なアプローチでした。

于 2008-10-28T11:34:22.263 に答える
1

私はもっ​​と趣味の人ですが、これがあなたのやり方です。winformと「設定ファイル」へのパスで初期化する必要のあるクラスを作成します。コンストラクターから:

  1. 設定ファイルを読み込みます(XMLで何かを作成します)
  2. 上記のWinFormのすべてのコントロールをループし、上記の設定ファイルで指定されているように、前面/背面の色、画像、不透明度などを適用します。
  3. すべてのフォームでクラスをインスタンス化するだけです。

より良い方法かもしれませんが、それは私が最後にそれを行ったときに私がしたこととほとんど同じでした。通常、コントロール、テキストボックス、コンボボックスなどのタイプごとに「スタイル」を指定し、タグのコントロールプロパティを使用して特殊なケースを考慮します。

それがどれほど役立つかわかりません。

于 2011-12-16T21:35:14.293 に答える
0

前の回答が述べたように、バニラ VB でこれを行うのは面倒ですが、無料の代替手段があります (VB ではまだ)。残念ながら、多くのことを学び、WPF (Windows Presentation Foundation) で動作するようにアプリを書き直す必要があります。

簡単に言えば、WPF は WinForms (おそらく現在使用している) の代替です。主な違いは、WinForms がビットマップ ベースであるのに対し、WPF はベクトル ベースで解像度に依存しないことです。WPF の出力は見栄えがしますが、学ぶことはたくさんあります。

WPF アプリを簡単にスキン化することができ、Microsoft のサンプルもその方法を示しています。WPF を使用すると、.Net 3.0 が必要なため、インストールできるシステムが制限される場合があります (可能であれば 3.0 SP1 または 3.5 SP1 を使用するのが最適です)。

WPF とスキニングについての簡単な Google は、多くの可能性を示しています。

ライアン

于 2008-10-28T11:08:14.687 に答える
0

残念ながら、VB.NET はすぐに使用できる「スキニング」を提供していません。標準の Windows インターフェイスを使用するだけです。表示プロパティを変更すると、UI が変更されるだけです。

スキニング機能を提供するオープン ソース プロジェクトについては知りませんが、多くの商用製品を使用しています。私がこれまでに使用した中で最も優れているものの 1 つは、 InfragisticsのNET Advantageにある Application Styling Frameworkです。

于 2008-10-27T01:04:18.230 に答える