VB.NET vb.net アプリのスキンを作成するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/238650

  •  04-07-2019
  •  | 
  •  

質問

私が作成した vb.net アプリをスキンしたいです。グーグルで検索したところ、スキンされた vb.net アプリを見つけました。

しかし、それを説明している人を見つけようとすると、それは有料製品へのリンクであるように思えます。

誰かこれに関して役立つものはありますか?


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

役に立ちましたか?

解決

「スキナブル」を作成したことを覚えています。 vb.net winformsアプリ(メディアプレーヤー)は、まだ学生の頃(6年前かもしれません)。

見苦しかったが、私がやった方法は次のとおりだった。

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

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

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

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

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

これを行うにはもっと良い方法があると確信していますが、それは私の粗雑なアプローチでした。

他のヒント

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

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

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

それがどれほど役立つかわからない。

残念ながら、VB.NETはすぐに使用できる「スキン」を提供しません。単に標準のWindowsインターフェイスを使用します。 UIへの唯一の変更は、表示プロパティを変更したときに行われます。

スキニング機能を提供するオープンソースプロジェクトを知りませんが、多くの商用製品を使用しました。私が使用したベストの1つは、 NET Advantage <にあるApplication Styling Frameworkです。 / a> by Infragistics。

以前の回答で述べたように、バニラ 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 で調べてみると、多くの可能性が示されます。

ライアン

scroll top