質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.01%

  • C#

    5756questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Form内にあるすべてのImageを取得したい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 160

otftrough

score 302

Formでサブウィンドウを作って、複数の画像を表示させたものを、閉じる際にImage.Dispose()したいのですが、Imageをメンバ変数にしてしまうとかなりメモリを食うので、Form.Hide()で消すときに一緒にそのForm内のImageをすべて取得してDispose()しようと思っています。
方法はありますか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Tak1wa

    2017/09/09 13:38

    FormってWindowsFormsでしょうか?

    キャンセル

回答 1

checkベストアンサー

0

こんにちは。

Windows Formで良いでしょうかね。

以下などを参考にコントロールの再帰的検索を行うことで全Imageの取得は出来ると思います。

https://stackoverflow.com/questions/13933120/how-to-get-all-control-list-of-the-form-in-c


Imageをメンバ変数にしてしまうとかなりメモリを食うので

メモリをどう食うのかよくわかってないのですが…
IDisposableのListをメンバーに保持し、Disposeが必要なタイミングでまとめてDisposeする方法のほうが、Image検索よりシンプルかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    close dispose 違い

    お世話になります。 close dispose の認識が正しいか確認したく投稿いたしました。 close  画面を閉じる、インスタンス等は削除されない dispose IDi

  • 受付中

    【C#】画像の再描画について

    C#の仕様について質問です。 現在、Wiiリモコンを用いて電子黒板のシステムを作ろうとしています。Wiiリモコンのライブラリを用いて赤外線を受信し、そこにマウスカーソルを追従

  • 解決済

    画像がちらつく

    ゲームを作っています。 PictureBoxの中に敵キャラの画像と自分が操作する画像を表示させています。 敵キャラの画像は0.1秒につき1回動くようにしてるのですが、 自分が

  • 解決済

    【C#】IDisposableインターフェイス

    質問 以下のようなクラスが存在する場合、このクラスにはIDisposableインターフェイスを実装するべきですか? 皆さんの意見をお聞かせください。 class Samp

  • 解決済

    C#でBitmapをDisposeできずにメモリが増えていくのを対処したい

    C#のBitmapのDisposeについて質問です。 pictureBoxに画像を表示して、Button1を押すと1pixel拡大するというコードを記述しました。 //

  • 受付中

    C#でユーザーが画像上にボタンを追加消去する方法

    前提・実現したいこと Windwosデスクトップアプリにて、exe実行後に任意の位置にボタンを追加していきたい。 お世話になります。 現在、C#でWindowsFormデ

  • 解決済

    画像を重ね合わせてファイルに保存したいのですが

    補足情報(言語/FW/ツール等のバージョンなど) Windows10 Microsoft Visual Studio Community 2015(Visual Basic 2

  • 解決済

    ボタンを押してデータの書き換えをしたい

    https://teratail.com/questions/73935 これの続きです。 評価されてない画像データを1つだけ表示して、ボタンで画像の種類を分類したいです。

同じタグがついた質問を見る

  • C#

    5756questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。