using System;
using System.IO;
using System.Net;
using System.Windows.Forms;
using System.Data;namespace mythirdcsfile
{
    public partial class Form2: Form
    {
        public Form2() {
            InitializeComponent();
        }        private void button2_Click(object sender, EventArgs e) {
            this.Close();
        }        private void button1_Click(object sender, EventArgs e) {                if (filename.Text == "") {
                    DirectoryInfo d = Directory.CreateDirectory("\\text#\\");//创建文件夹 \\text#\\
                    StreamWriter sw = new System.IO.StreamWriter(@"d:\text#\" + DateTime.Now.Date.ToString("yyyyMMdd") + DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second + "#" + ".txt", false);
                    sw.WriteLine(textBox1.Text);
                    sw.Flush();
                    sw.Close();
                    MessageBox.Show(@"文件已保存!d:\text#\" + DateTime.Now.Date.ToString("yyyyMMdd") + DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second + ".txt", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else {
                    savetxt();
                }        }        public void savetxt() {
            try {                if (File.Exists(@"d:\text#\" + filename.Text + ".txt")) {
                    MessageBox.Show(@"文件名重复!d:\text#\" + filename.Text + ".txt", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else {
                    DirectoryInfo dd = Directory.CreateDirectory("\\text#\\");//创建文件夹 \\text#\\
                    StreamWriter sw = new System.IO.StreamWriter(@"d:\text#\" + filename.Text + ".txt", false);
                    sw.WriteLine(textBox1.Text);
                    sw.Flush();
                    sw.Close();
                    MessageBox.Show(@"文件已保存!d:\text#\" + filename.Text + ".txt", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            } catch {
            }
        }        private void filename_TextChanged(object sender, EventArgs e) {
            foreach (char m in filename.Text) {
                int n = 0;
                if (m == '\\' || m == '/' || m == '*' || m == ':' || m == '"' || m == '>' || m == '<' || m == '?' || m == '|'
                    ) {
                    n++;
                }                if (n != 0) {
                    errorProvider1.SetError(filename, "非法字符! ");
                    filename.Text = "";
                }
                else {
                    errorProvider1.SetError(filename, "");
                }
            }
        }
    }
}
窗体实现的是,在一文本框内输入内容。完成后,在另一文本框filename内写文件名,点击“button1”保存。在d:\text#\下生成txt文件。不输入字符以当前日期为文件名保存。
savetxt() 函数实现保存文件的功能。但不能出现非法字符,filename_TextChanged(object sender, EventArgs e)函数实现提示输入非法字符时,要求重新输入。
但如果没有对非法字符做限制,比如输入“*”点击“button1”保存。文件会在指定目录d:\text#\下生成一个没有文件名的txt文件。这是怎么回事?文件可以打开,内容就是文本框中的内容。