次の方法で共有


方法 : 実行時にピクチャを設定する (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 メソッドを使用する理由の詳細については、「アンマネージド リソースのクリーンアップ」を参照してください。

    このコードは、デザイン時にグラフィックがコントロールに読み込まれた場合でも、画像をクリアします。

関連項目