本文实例为大家分享了winform编辑器的具体实现代码,供大家参考,具体内容如下
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.Data.SqlClient;
using System.IO;
namespace winformDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//让textBox2隐藏
this.textBox2.Visible = false;
//让dataGridView1表中的最后一行空值隐藏掉
this.dataGridView1.AllowUserToAddRows = false;
}
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
OpenFileDialog open = new OpenFileDialog();
/// <summary>
/// 行
/// </summary>
string ClickRow = "";
/// <summary>
/// 列
/// </summary>
string ClickCells = "";
/// <summary>
/// 行和列相加的字符串
/// </summary>
string SqlLanding = "server=.;uid=sa;pwd=123456789;database=myfirstDemo";
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//获取正在点击的行和列。
ClickRow = this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
ClickCells = this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
SelectInfo();
}
public void SelectInfo()
{
//断开式链接查看数据库数据
con.ConnectionString = SqlLanding;
com.CommandText = "select Name as 文件名,TxtLuJing as 文件路径 from TxtBianJiQi";
com.Connection = con;
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(com);
sda.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0];
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
string Filepath = ClickCells + ClickRow;
this.textBox2.Visible = true;
try
{
//只读流;
FileStream fss = new FileStream(Filepath, FileMode.OpenOrCreate, FileAccess.Read);
StreamReader sww = new StreamReader(fss, Encoding.Default);
textBox2.Text = sww.ReadToEnd();
sww.Close();
fss.Close();
}
catch (Exception ex)
{
//如果没有选择路径提示出一句话;
MessageBox.Show("查看路径错误:" + ex.Message);
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
string Filepath = ClickCells + ClickRow;
try
{
//只写流;
FileStream fss = new FileStream(Filepath, FileMode.Create, FileAccess.Write);
StreamWriter sww = new StreamWriter(fss, Encoding.Default);
sww.Write(textBox2.Text);
sww.Close();
fss.Close();
MessageBox.Show("保存成功!");
}
catch (Exception ex)
{
//如果没有选择路径提示出一句话;
MessageBox.Show("保存路径错误:" + ex.Message);
}
this.textBox2.Visible = false;
}
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.textBox2.Text = "";
string localFilePath = "";
string fileNameExt = "";
string flie = "";
SaveFileDialog saveFileDialog = new SaveFileDialog();
//打开默认的文件目录
saveFileDialog.InitialDirectory = "D:\\\\Text\\";
//文件后缀名
saveFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
saveFileDialog.FilterIndex = 2;
string LuJing = saveFileDialog.InitialDirectory;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
flie = saveFileDialog.FileName;
//文件目录名
localFilePath = saveFileDialog.FileName.ToString();
//截取文件名字
fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);
}
string sql = "select name from TxtBianJiQi";
SqlCommand co = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(co);
DataSet dss = new DataSet();
da.Fill(dss);
//循环判断传入的表中name
for (int i = 0; i < dss.Tables[0].Rows.Count; i++)
{
//定一个变量去接获取出来name
string ss = dss.Tables[0].Rows[i][0].ToString();
//判断对话框里输入的值是否与查出来的name相同
if (fileNameExt == ss)
{
MessageBox.Show("文件已更改!");
return;
}
}
try
{
//只写流
FileStream fs = new FileStream(flie, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);//对话框另存为。
sw.Write(textBox2.Text);
sw.Flush();
fs.Close();
con.ConnectionString = SqlLanding;
//往数据库添加 文件名和路径名 sql语句
com.CommandText = String.Format("insert into TxtBianJiQi(Name,TxtLuJing)values('{0}','{1}')", fileNameExt, LuJing);
com.Connection = con;
con.Open();
int insertInto = Convert.ToInt32(com.ExecuteScalar());
if (insertInto > 0)
{
MessageBox.Show("操作失败!请重试。");
}
else
{
MessageBox.Show("添加成功!");
this.textBox2.Visible = false;
}
}
catch (Exception ex)
{
MessageBox.Show("添加日志失败:" + ex.Message);
}
con.Close();
SelectInfo();
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
con.ConnectionString = SqlLanding;
//从数据库删除正在点击的文件名
com.CommandText = String.Format("delete from TxtBianJiQi where Name='{0}'", ClickRow);
com.Connection = con;
con.Open();
DialogResult dr = MessageBox.Show("确认删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (dr == DialogResult.OK)
{
int insertInto = Convert.ToInt32(com.ExecuteScalar());
if (insertInto > 0)
{
MessageBox.Show("操作失误!!");
}
else
{
//File.Delete(ClickCells + ClickRow);删除Windows里的文件,括号里是要删除文档的路径。
File.Delete(ClickCells + ClickRow);
MessageBox.Show("删除成功!");
}
}
con.Close();
SelectInfo();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
就是写了一个挺简单的在winform里进行填写文本,里面用到的ADO.NET来链接数据库,在新建文本的时候需要写入.txt后缀名,打开或者是删除的时候需要先点击一下文本名。 写的不足请见谅!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# winform
# 编辑器
# C# RichTextBox制作文本编辑器
# 如果没有
# 句话
# 对话框
# 只写
# 或者是
# 写了
# 另存为
# 大家分享
# 去接
# 具体内容
# 大家多多
# 文本文件
# 行空
# 文档
# 括号里
# 请重试
# pwd
# SqlLanding
# ClickRow
相关文章:
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
招商网站制作流程,网站招商广告语?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
C#如何序列化对象为XML XmlSerializer用法
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
电商平台网站制作流程,电商网站如何制作?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何构建满足综合性能需求的优质建站方案?
学校建站服务器如何选型才能满足性能需求?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何高效配置IIS服务器搭建网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网站制作难吗安全吗,做一个网站需要多久时间?
如何快速选择适合个人网站的云服务器配置?
已有域名如何免费搭建网站?
建站之星ASP如何实现CMS高效搭建与安全管理?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
建站之星会员如何解锁更多建站功能?
香港服务器选型指南:免备案配置与高效建站方案解析
大连网站设计制作招聘信息,大连投诉网站有哪些?
常州自助建站费用包含哪些项目?
如何在IIS中新建站点并配置端口与物理路径?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
建站主机系统SEO优化与智能配置核心关键词操作指南
制作表格网站有哪些,线上表格怎么弄?
建站之星安装模板失败:服务器环境不兼容?
如何通过虚拟机搭建网站?详细步骤解析
视频网站制作教程,怎么样制作优酷网的小视频?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
简单实现Android文件上传
制作网站公司那家好,网络公司是做什么的?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
建站之星价格显示格式升级,你的预算足够吗?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
常州企业建站如何选择最佳模板?
C#如何在一个XML文件中查找并替换文本内容
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何打造高效商业网站?建站目的决定转化率
如何快速使用云服务器搭建个人网站?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
建站OpenVZ教程与优化策略:配置指南与性能提升
建站主机服务器选购指南:轻量应用与VPS配置解析
建站之家VIP精选网站模板与SEO优化教程整合指南
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
*请认真填写需求信息,我们会在24小时内与您取得联系。