次の方法で共有


方法: 実行時に画像を設定する (Windows フォーム)

Windows フォーム PictureBox コントロールによって表示されるイメージをプログラムで設定できます。

プログラムで画像を設定するには

  • Image クラスの FromFile メソッドを使用して、Image プロパティを設定します。

    次の例では、イメージの場所に設定されたパスは [マイ ドキュメント] フォルダーです。 これは、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 メソッドを使用する理由の詳細については、「 アンマネージ リソースのクリーンアップ」を参照してください。

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

こちらも参照ください