Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将带有文本和图像的datagridview保存到文件_C#_Image_Datagridview_Savefiledialog - Fatal编程技术网

C# 将带有文本和图像的datagridview保存到文件

C# 将带有文本和图像的datagridview保存到文件,c#,image,datagridview,savefiledialog,C#,Image,Datagridview,Savefiledialog,我正在开发一个程序,它允许打开和保存文件中的数据,如果您愿意,还可以对数据库执行同样的操作。 到目前为止,我只看到了一些文本栏,保存这些并没有什么大不了的,现在我的老师让我添加一个图片栏,这也很有效。 但由于我的datagridwiev在创建时是唯一的文本,我可以轻松地将其保存在文本文件中。。。如果有一张照片,这将不再有效。 使用我的旧代码 txt文件显示如下内容 -->col1 | col2 | col3 | System.Drawing.Bitmap 有没有办法改变我的saveFileDia

我正在开发一个程序,它允许打开和保存文件中的数据,如果您愿意,还可以对数据库执行同样的操作。 到目前为止,我只看到了一些文本栏,保存这些并没有什么大不了的,现在我的老师让我添加一个图片栏,这也很有效。 但由于我的datagridwiev在创建时是唯一的文本,我可以轻松地将其保存在文本文件中。。。如果有一张照片,这将不再有效。 使用我的旧代码

txt文件显示如下内容 -->col1 | col2 | col3 | System.Drawing.Bitmap

有没有办法改变我的saveFileDialog,使它既能处理文本,又能处理图像

到目前为止,我得到的是:

 private void button1_Click_1(object sender, EventArgs e) //Save to File  Button
    {

        SaveFileDialog SaveDialog = new SaveFileDialog();

        SaveDialog.InitialDirectory = @"C:\";
        SaveDialog.Title = "Save text Files";
        SaveDialog.CheckFileExists = false;
        SaveDialog.CheckPathExists = false;
        SaveDialog.DefaultExt = "txt";
        SaveDialog.Filter = "txt files (*.txt)|*txt";



        if (SaveDialog.ShowDialog() == DialogResult.OK)
        {

            var csv = new StringBuilder();
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                var NameCell = dataGridView1.Rows[i].Cells["ColName"].Value;
                var AdrCell = dataGridView1.Rows[i].Cells["Adresse"].Value;
                var TelCell = dataGridView1.Rows[i].Cells["Telefon"].Value;
                var PicCell = dataGridView1.Rows[i].Cells["Bild"].Value;

                var newLine = string.Format("{0}|{1}|{2}|{3}", NameCell, AdrCell, TelCell);

                csv.AppendLine(newLine);
            }


            File.WriteAllText(SaveDialog.FileName, csv.ToString());

            MessageBox.Show("Saved!");
        }
    }
private void按钮\u单击\u 1(对象发送者,事件参数)//保存到文件按钮
{
SaveFileDialog SaveDialog=新建SaveFileDialog();
SaveDialog.InitialDirectory=@“C:\”;
SaveDialog.Title=“保存文本文件”;
SaveDialog.CheckFileExists=false;
SaveDialog.CheckPathExists=false;
SaveDialog.DefaultExt=“txt”;
SaveDialog.Filter=“txt文件(*.txt)|*txt”;
if(SaveDialog.ShowDialog()==DialogResult.OK)
{
var csv=新的StringBuilder();
对于(int i=0;i
文本文件不能包含图像,您需要将其保存到其他类型的文件中。您可以使用DrawToBitmap获取DGV的图像。-如果确实要保存文本,可以保存文件路径(如果有的话)。当然,您也可以根据dbms将位图保存到blob列中。因此,唯一的方法是将文本和图像保存在两个不同的文件中?