一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C# - 簡單實(shí)現(xiàn)winform編輯器

簡單實(shí)現(xiàn)winform編輯器

2022-01-20 13:57憂嘆ic C#

這篇文章主要教大家如何簡單實(shí)現(xiàn)winform編輯器,功能很簡單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了winform編輯器的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

簡單實(shí)現(xiàn)winform編輯器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
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)
  {
   //獲取正在點(diǎn)擊的行和列。
   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()
  {
   //斷開式鏈接查看數(shù)據(jù)庫數(shù)據(jù)
   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("查看路徑錯(cuò)誤:" + 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("保存路徑錯(cuò)誤:" + 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();
   //打開默認(rèn)的文件目錄
   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);
   //循環(huán)判斷傳入的表中name
   for (int i = 0; i < dss.tables[0].rows.count; i++)
   {
    //定一個(gè)變量去接獲取出來name
    string ss = dss.tables[0].rows[i][0].tostring();
    //判斷對(duì)話框里輸入的值是否與查出來的name相同
    if (filenameext == ss)
    {
     messagebox.show("文件已更改!");
     return;
    }
   }
   try
   {
    //只寫流
    filestream fs = new filestream(flie, filemode.create, fileaccess.write);
    streamwriter sw = new streamwriter(fs, encoding.default);//對(duì)話框另存為。
    sw.write(textbox2.text);
    sw.flush();
    fs.close();
    con.connectionstring = sqllanding;
    //往數(shù)據(jù)庫添加 文件名和路徑名 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("操作失敗!請(qǐng)重試。");
    }
    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;
   //從數(shù)據(jù)庫刪除正在點(diǎn)擊的文件名
   com.commandtext = string.format("delete from txtbianjiqi where name='{0}'", clickrow);
   com.connection = con;
   con.open();
   dialogresult dr = messagebox.show("確認(rèn)刪除?", "提示", 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里的文件,括號(hào)里是要?jiǎng)h除文檔的路徑。
     file.delete(clickcells + clickrow);
     messagebox.show("刪除成功!");
    }
   }
   con.close();
   selectinfo();
  }
 
  private void 退出toolstripmenuitem_click(object sender, eventargs e)
  {
   this.close();
  }
 
 }
}

就是寫了一個(gè)挺簡單的在winform里進(jìn)行填寫文本,里面用到的ado.net來鏈接數(shù)據(jù)庫,在新建文本的時(shí)候需要寫入.txt后綴名,打開或者是刪除的時(shí)候需要先點(diǎn)擊一下文本名。 寫的不足請(qǐng)見諒!

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/shigezhuang/archive/2017/08/21/7406131.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九九精品视频 | pregnantsexxx临盆孕妇 | 5月色婷婷| 欧美视频一区二区专区 | 亚洲第99页 | 教室里的激情电影 | 黄a 大片a v 永久免费 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 国产激情在线 | 丝袜兔女郎被啪在线观看91 | 情趣内衣情趣玩具play | 欧美综合精品一区二区三区 | japonensis日本护士18| 色姑娘导航 | 免费超级乱淫播放手机版 | 国产啪精品视频网给免丝袜 | 国产区一二三四区2021 | 欧美日韩一区二区综合 | 26uuu成人人网图片 | 国产精品九九久久一区hh | 亚洲视屏在线观看 | 特黄未满14周岁毛片 | 欧美在线观看视频一区 | 色戒真做gif动图 | 日本色女 | 美女视频久久 | 国产馆| 拔插拔插.com | 青青草色 | 99久久99久久久精品齐齐鬼色 | 国产精品久久毛片蜜月 | 国产精品99爱免费视频 | 男男同志videos| 男人与雌性宠物交啪啪小说 | 女同全黄h全肉动漫 | 欧美香蕉人人人人人人爱 | 日本xxx片免费高清在线 | 日韩天堂在线 | 美女啪啪国产 | 亚洲精品国产精品精 | 日本视频高清免费观看xxx |