方法 : 実行時にピクチャを設定する (Windows フォーム)

更新 : 2007 年 11 月

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.get_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 メソッドをこのように使用する理由の詳細については、「アンマネージ リソースのクリーンアップ」を参照してください。

    このコードによって、デザイン時にコントロールにグラフィックが読み込まれた場合もイメージが消去されます。

参照

処理手順

方法 : デザイナを使用してピクチャを読み込む (Windows フォーム)

方法 : 実行時にピクチャのサイズまたは配置を変更する (Windows フォーム)

参照

PictureBox コントロールの概要 (Windows フォーム)

PictureBox

Image.FromFile

その他の技術情報

PictureBox コントロール (Windows フォーム)