Search code examples
c#winformscharts

How to save a chart as Image with Save File Dialog in C# Windows Forms Application


I want to save a chart as Image with Save File Dialog when a button is clicked. My Application type is c# Windows Forms Application. So that user can save the image file in any directory where he/she wishes.


Solution

  • I have made a work around:

    private void exportAsImagebtn_Click(object sender, EventArgs e)
    {   
        SaveFileDialog saveFileDialog = new SaveFileDialog();
        saveFileDialog.Filter = "PNG Image|*.png|JPeg Image|*.jpg";
        saveFileDialog.Title = "Save Chart As Image File";
        saveFileDialog.FileName = "Sample.png";
    
        DialogResult result = saveFileDialog.ShowDialog();
        saveFileDialog.RestoreDirectory = true;
    
        if (result == DialogResult.OK && saveFileDialog.FileName != "")
        {
            try
            {
                if (saveFileDialog.CheckPathExists)
                {
                    if (saveFileDialog.FilterIndex == 2)
                    {
                        chart.SaveImage(saveFileDialog.FileName, ChartImageFormat.Jpeg);
                    }
                    else if (saveFileDialog.FilterIndex == 1)
                    {
                        chart.SaveImage(saveFileDialog.FileName, ChartImageFormat.Png);
                    }
    
                }
                else
                {
                    MessageBox.Show("Given Path does not exist");
                }
            }
            catch(Exception ex){
                MessageBox.Show(ex.Message);
            }
        }     
    }