2

やったけど例外が多すぎ Mainform.cs

Subform subform = new Subform();
subform.GetCapture += new Subform.GetCapture(SetSubformImage);
subform.Show();
//Set subform image to a pictureBox
void SetSubformImage(Image img) {
this.pic.Image = img;
}

サブフォーム.cs

public delegate void CaptureHandle(Image img);
public event CaptureHandle GetCapture;
public Image ImgSubForm {
set{
if(GetCapture != null)
GetCapture(value);
}
}
//...Function GetFormImage return current form image
//Event form activated
private void Subform_Activated(object sender, EvenAgrs e) {
timer.Enable = true;
//With timer.Tick += { ImgSubForm = GetFormImage(); }
}

上記のコードは画像を取得してメイン フォームに送信できますが、RAM は 1 分以内に 2GB 増加します。タイマーをオフにしないと、理由がわかりませんが、サブフォームを閉じるまでRAMが減少しません。なぜ、または解決策はありますか?

4

0 に答える 0