В моей программе есть две формы: Form A
и Form B
.C# программно форма изображения
Существует кнопка в Form A
, которая может снимать снимок экрана Form B
(без запуска Form B
).
Однако компоненты Form B
созданы в функции.
Я использую приведенный ниже код, чтобы снять снимок экрана Form B
, но он генерирует только Form B
изображение без какого-либо его компонента.
Bitmap b = new Bitmap(1280, 720);
formB.ManualLoad();
formB.DrawToBitmap(b, new Rectangle(0, 0, 1280, 720));
b.Save("D:\\Test.bmp");
Функция Manuaload() находится ниже.
public void ManualLoad()
{
formB_Load(null, null);
formB_Resize(null, null);
Invalidate();
}
Как исправить проблему?
форма не отображается так 'Paint' событий формы не срабатывает и управления не рисуются. Я не уверен, что вы можете сделать скриншот, не показывая форму ... – Nino
Это не будет так, как форма не нарисована. Вы должны показать форму, чтобы сделать снимок экрана – Nitin
Есть ли конкретная причина, по которой вы не хотите формировать B? Else, я бы предложил просто показать его, а затем сделать печатный экран – Kyra