Copy Chart To Clipboard


	MemoryStream MemoryStream1 = new MemoryStream();
	Chart1.SaveImage(MemoryStream1, System.Windows.Forms.DataVisualization.Charting.ChartImageFormat.Bmp);
	System.Drawing.Bitmap Bitmap1 = new System.Drawing.Bitmap(MemoryStream1);
	System.Windows.Forms.Clipboard.SetImage(Bitmap1);

Save Chart To File


	const string MY_FILE_EXTENSION = "png";
	String SaveAsFilename;

	//If last directory is not valid then default to My Documents
	if (!Directory.Exists(Path.GetDirectoryName(ApMain.LastFileDirectory)))
		ApMain.LastFileDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

	SaveFileDialog SelectFileDialog = new SaveFileDialog();

	SelectFileDialog.Filter = "Image File (*." + MY_FILE_EXTENSION + ")|*." + MY_FILE_EXTENSION;       //"txt files (*.txt)|*.txt|All files (*.*)|*.*"
	SelectFileDialog.FilterIndex = 1;              //(First = 1, not 0)
	SelectFileDialog.Title = "Save Chart Image As";
	SelectFileDialog.OverwritePrompt = true;
	try
	{
		SelectFileDialog.InitialDirectory = ApMain.LastFileDirectory;
	}
	catch (Exception)
	{
		SelectFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
	}
	//Display dialog box
	if (SelectFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)     //This ensures correct filename extension is used
	{
		//----- SAVE THE FILE -----
		SaveAsFilename = SelectFileDialog.FileName;

		//STORE LAST USED DIRECTORY
		if (SaveAsFilename.LastIndexOf("\\") >= 0)
			ApMain.LastFileDirectory = SaveAsFilename.Substring(0, (SaveAsFilename.LastIndexOf("\\") + 1));
		else
			ApMain.LastFileDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

		Chart1.SaveImage(SaveAsFilename, System.Windows.Forms.DataVisualization.Charting.ChartImageFormat.Png);
	}

 

 

Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.

Comments

Your email address will not be published.