跨页面传值自动刷新 操作文本与文件夹

跨页面传值自动刷新

从Form1往Form2中实现跨页面传值:

 一般用于修改数据

   public static int bs=0;

 

        public Form1()     

    {       

      InitializeComponent();  

       }

        private void Form1_Load(object sender, EventArgs e)     

    {       

      TestDataContext context = new TestDataContext();

            dataGridView1.DataSource = context.Info;   

      }

        private void button1_Click(object sender, EventArgs e)      

   {       

      string code = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();

            Form2 f = new Form2(code);

            f.Show();      

   }

        private void timer1_Tick(object sender, EventArgs e)       

  {         

    if (bs != 0)         

    {         

        TestDataContext context = new TestDataContext();          

       dataGridView1.DataSource = context.Info;         

        bs = 0;           

  }       

  }   

  }

}

Form2的代码:

  public partial class Form2 : Form  

   {        

private string Code;     

    public Form2()       

  {          

   InitializeComponent();     

    }       

  public Form2(string code)      

   {           

  InitializeComponent();         

    Code = code;       

  }

        private void Form2_Load(object sender, EventArgs e)     

    {          

   TestDataContext context = new TestDataContext();

            Info data = context.Info.Where(p=>p.Code==Code).First();

            label1.Text = data.Name;       

      dateTimePicker1.Value = data.Birthday.Value;

        }

        private void button1_Click(object sender, EventArgs e)      

   {           

  TestDataContext context = new TestDataContext();

            Info data = context.Info.Where(p => p.Code == Code).First();

            data.Birthday = dateTimePicker1.Value;

            context.SubmitChanges();

            Form1.bs = 1;

            this.Close();

      }
    }
}

 

 

 

操作文本与文件夹

winform文件操作命名空间为using system.IQ;

1、建立个文本对象并写入信息:

(1)造一个流对象 FileStream f=new FileStream(@"d:\test.txt",FileMode.Open); Open打开

(2)取出要写入的内容 string s=name.Text;

(3)生成二进制数组 byte[]wj=Encoding.Default.GetBytes(s);

(4)写入 f.Write(wj,0,wj.Length);

(5)关闭流 f.Close();

2、读出文本对象里面的内容:

(1)造一个流对象 Append是追加,create是创建会覆盖,open打开(读取)

FileStream fs=new FileSteam(@"d:\test.txt",FileMode.Open);

(2)造一个二进制数组 byte[]wj=new byte[fs.Length];

(3)读取内容  fs.read(wj,0,Length);

(4)将二进制数组中的内容转换为字符串 name.Text=Encoding.Defaule.Getstring(wj);

(5)关闭流 fs.Close();

也可以操作其他文件,改后缀名

 

3、文件及文件夹操作

创建文件

(1)造一个类 FileIofo f=new FileInfo(@"d:\aa.txt");

(2)创建文件 FileStream fs=f.Create();

(3)关闭连接 fs.Close();

删除文件

(1)造一个类 FileInfo f=new FileInfo(@"d:\aa.doc");

(2)删除 f.Delete();

复制文件

(1)造一个类 FileInfo f=new FileInfo(@"d:\test.doc");

(2)复制 f.CoptTo(@"e:\aa.doc",true);     第三个参数为是否覆盖

移动文件 f.MoveTo(@"d:\aa.doc");   相当于给文件改了个名字

判断文件是否存在 MessageBox.show(f.Exists.ToString());

获取文件名 MessageBox.Show(f.FullName);

获取创建文件的时间 MessageBox.Show(f.CreationTime.ToString("yyyy年mm月dd日 hh: mm: ss"));

修改创建时间 f.CreationTime=DateTime.now.AddDays(10)    括号代表10天之前创建的

 

4、文件夹操作:

(1)创建文件夹目录 DirectoryInfo dy=new DirectoryInfo(@"d:\xyz");

(2)创建 dy.Create();

删除目录 dy.Delete();

移动目录 dy.MoveTo(@"e:\ccc")

判断目录是否存在 MessageBox.Show(dy.Exists.Tostring());

获得目录的全名 MessageBox.Show(dy.FullName.ToString());

获取子文件 DirectoryInfo dy=new DirectoryInfo(@"d:\xyz");

FileInfo[] f=dy.GetFiles(); string s="";

for(int i=0;i<f.Length;i++)

{  s=s+f[i].Name+"|"; }

richTextBox1.Text=s;

获取子目录

(1)造一个文件夹信息类 DirectoryInfo dy=new DirectoryInfo(@"d:\图片");

(2)获取子目录 DirectoryInfo [] d=dy.GetDirectories();

string s=""; for(int i=0;i<d.Length;i++) { s=s+d[i].Name+"||"; }

 richTextBox1.Text=s;

 

例:

做一个打开文件与保存文件

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog of = new OpenFileDialog();
            //点击打开按钮的事件
            if (of.ShowDialog() == DialogResult.OK)
            {
                FileStream fs = new FileStream(of.FileName, FileMode.Open);

                StreamReader sr = new StreamReader(fs,Encoding.Default);

                richTextBox1.Text = sr.ReadToEnd();

                sr.Close();
                fs.Close();
            }
        }
private void button2_Click(object sender, EventArgs e)
        {
            SaveFileDialog sf = new SaveFileDialog();

            sf.Filter = "文本文档(*.txt)|*.txt";
            //点击保存事件
            if (sf.ShowDialog() == DialogResult.OK)
            {
                FileStream fs =  (FileStream)sf.OpenFile();

                StreamWriter sw = new StreamWriter(fs,Encoding.Default);

                sw.Write(richTextBox1.Text);

                sw.Close();
                fs.Close();
            }
        }

 

posted @ 2015-09-21 22:37  疯子霖  阅读(665)  评论(0编辑  收藏  举报