Как сохранить форму с помощью SaveFileDialog - PullRequest
0 голосов
/ 06 ноября 2011

Если у меня есть программа, которая рисует прямоугольники, круги и линии, и я хочу сохранить рисунок, который пользователь нарисовал на форме, используя SaveFileDialog, как это будет сделано?

Я знаю, как сохранить текстовый файл с помощью SaveFileDialog, но не знаю, как сохранить форму.

Ответы [ 2 ]

5 голосов
/ 06 ноября 2011

вы можете попробовать это ....

Будет сохранено содержимое формы в виде растрового изображения с помощью SaveFileDialog

  public class Form1
  {

      private Bitmap objDrawingSurface;        
      private Rectangle rectBounds1;

      private void Button1_Click(object sender, System.EventArgs e) 
      {
         objDrawingSurface = new Bitmap(this.Width, this.Height, Imaging.PixelFormat.Format24bppRgb);
         rectBounds1 = new Rectangle(0, 0, this.Width, this.Height);
         this.DrawToBitmap(objDrawingSurface, rectBounds1);
         SaveFileDialog sfd = new SaveFileDialog();
         sfd.Filter = "JPG Files (*.JPG) |*.JPG";
        if ((sfd.ShowDialog == Windows.Forms.DialogResult.OK))
        {
            objDrawingSurface.Save(sfd.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
     }
  }
1 голос
/ 06 ноября 2011
public void SaveFormToFile(string fileName)
{
    System.Drawing.Bitmap b = new Bitmap(this.Bounds.Width, this.Bounds.Height);
    this.DrawToBitmap(b, this.Bounds);
    b.Save(fileName );
}
...