-2

C#でWindowsフォームアプリケーションを作成しました。ピクチャーボックスと背景画像を使ったインターフェースをデザインしました。しかし、ハードコーディングした後に画像を追加する必要があります。これらのインターフェイスをカスタマイズする方法がわかりません。(基本的にテーマ)、背景画像、ピクチャーボックス画像。

4

2 に答える 2

1

この変更を行うのはいつですか? この変更を行いたいときに実行されるコードを追加できるイベント ハンドラを追加できることを願っています。

変更の仕方について。コンポーネントのメンバー変数の名前が必要になります。

PictureBoxという名前の があるとしますPicMyPicture。次に、これを行うことができます:

PicMyPicture.Image = image;

また

PicMyPicture.BackGroundImage = image;

または他のプロパティとコンポーネントについても同様です。

IDE を見てください。イベント ハンドラを定義できる可能性があります。たとえば、Visual Studio のプロパティ ウィンドウ (Visual Studio を使用していますか?) または他の IDE の同様の場所で、コンポーネントのイベントを見つけることができます。


わかりましたが、上記には問題があります...どこからその画像を取得しますか?

ファイルからロードされたり、アプリケーションのリソースからロードされたり、インターネットからダウンロードされたり、データベースから復元されたり、実行時に生成されることさえあります。

あなたの場合のより一般的なものはリソースとファイルなので、それらについて説明します。

次のコードは、ディスクからイメージをロードします。

var image = Image.FromFile(@"C:\path\path\some.png");

あなたは疑問に思うかもしれません...最終ユーザーがアプリケーションをどこに置くかわからない場合、どうすればパスを書くことができますか? アプリケーションの作業ディレクトリへの相対パスからファイルをロードするには、次のようにします。

var path = Environment.CurrentDirectory;
if (!path.EndsWith(Path.DirectorySeparatorChar.ToString()))
{
    path += Path.DirectorySeparatorChar;
}
path += "some.png";
var image = Image.FromFile(path);

次のコードは、アプリケーションのリソースから画像を読み込みます。

var image = new Bitmap
(
    System.Reflection.Assembly.GetEntryAssembly().
    GetManifestResourceStream("MyProject.Resources.myimage.png")
);

事前にリソースをプロジェクトに追加したことを確認する必要があります。方法については、IDE のドキュメントを参照してください。

于 2012-10-09T06:32:42.530 に答える