方法 : 実行時にピクチャを設定する (Windows フォーム)
Windows フォーム PictureBox コントロールによって表示される画像をプログラムによって設定できます。
プログラムによって画像を設定するには
Image クラスの FromFile メソッドを使用して、Image プロパティを設定します。
次の例では、画像の場所に設定されているパスは My Documents フォルダーです。 このように設定できるのは、Windows オペレーティング システムを実行しているほとんどのコンピューターにこのディレクトリが含まれていると想定できるからです。 また、このようにすることで、最小限のシステム アクセス レベルしか持たないユーザーもアプリケーションを安全に実行できるようになります。 下の例では、PictureBox コントロールが既に追加されているフォームを想定しています。
Private Sub LoadNewPict() ' You should replace the bold image ' in the sample below with an icon of your own choosing. PictureBox1.Image = Image.FromFile _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Image.gif") End Sub
private void LoadNewPict(){ // You should replace the bold image // in the sample below with an icon of your own choosing. // Note the escape character used (@) when specifying the path. pictureBox1.Image = Image.FromFile (System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal) + @"\Image.gif"); }
private: void LoadNewPict() { // You should replace the bold image // in the sample below with an icon of your own choosing. pictureBox1->Image = Image::FromFile(String::Concat( System::Environment::GetFolderPath( System::Environment::SpecialFolder::Personal), "\\Image.gif")); }
グラフィックをクリアするには
まず、画像によって使用されているメモリを解放し、その後グラフィックをクリアします。 メモリ管理が問題になった場合は、ガベージ コレクションによって後でメモリが解放されます。
If Not (PictureBox1.Image Is Nothing) Then PictureBox1.Image.Dispose() PictureBox1.Image = Nothing End If
if (pictureBox1.Image != null) { pictureBox1.Image.Dispose(); pictureBox1.Image = null; }
if (pictureBox1->Image != nullptr) { pictureBox1->Image->Dispose(); pictureBox1->Image = nullptr; }
注意
この方法で Dispose メソッドを使用する理由の詳細については、「アンマネージド リソースのクリーンアップ」を参照してください。
このコードは、デザイン時にグラフィックがコントロールに読み込まれた場合でも、画像をクリアします。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback