人人范文网 范文大全

编程知识总结C难点总结

发布时间:2020-03-02 05:16:01 来源:范文大全 收藏本文 下载本文 手机版

《编程知识总结》—C#难点总结

1.编写菜单中对应子菜单项的消息响应函数,考虑的方面很多,例 如,当前打开一个文件,此文件已经被修改,如果用户需要新建 或者打开另外一个文件,程序要询问用户是否保存当前的文件。

问题的解决:先用纸张写一份详细的业务流程图,在之后的编写 过程中,按照业务流程的规定进行功能的逐步实现。

2.编写判断是否要提醒用户保存的程序,判断是否提醒保存的根据 是什么。我的判断根据验证文件内容是否被修改,如果被修改, 提醒用户保存。如果被保存的文件没有文件路径,调用另存为的 响应函数进行执行。

3.无法关闭窗体,当我响应文件菜单下退出菜单项的时候,如果使 用 Close()函数的话,可以就直接退出,但是当我需要以同样的 方式响应右上角关闭按钮的话,事件信息就会进入死循环,而且 永远不会结束。所以,在关闭窗体的时候,目前我用的就是 Application.exit();这个函数,强制性终结这个窗口

4.保存文件,我们打开文件和直接输入信息的文件的情况,对于保 存来说是不一样的,因为打开的时候,应该是直接保存到指定的 文件中,而直接输入的应该提示保存,通过另存为的方式保存。 5.文件的删除。 C#的 textBox 没有直接为我们提供文本删除的函数, 我弄了许久,后来,无意间突然发现通过已经选择的字符串的下 标来操作,就可以删除文件了,具体操作就是,先获取被选择文 件的前半部分,在获取后半部分,而略过中间被选中的部分即可。 6.开始的时候没有使用 Using System.IO,系统报错;

7.由于在 MeageBox.Show 后没有写 return 导致错误;

8.初步创建简易记事本后点击打开文件选项并不显示文件的内容, 且编译器报错了,是由于没有判断文件名为空,且文件的完整路 径名获取的不准确,将文件名为空的情况及其文件的完整路径名 获取之后,读取文件正确;

9.首先,我在添加单击“新建”响应的代码时,单击进去,结果代 码全部不能运行,必须是双击。

10.获取文件名时,文件名不需要特别处理,程序内部直接处理好的, 我在这里画蛇添足了。

11.操作对象必须指代明确,不如要出错。

12.在用 WinForm 做文本文档的时候,在“新建文本文档”项的代码 中,需要在项目中新建一个 new 窗体作为“新建文本文档” ,在 form1 的代码中写如下代码: Form frm = new NewForm(); frm.Show(); this.Hide(); 然后在 Form2 中下如同样的代码即可。

13.还发现“保存”与“另存为”项的代码编写没有任何差异,考虑 并修改程序无果。代码如下: private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)// { DialogResult save = saveFileD

ialog1.ShowDialog();

if

(save

== DialogResult.OK) { string filepath = saveFileDialog1.FileName; //FileInfo fi = new FileInfo(filepath); string content = richTextBox1.Text; File.WriteAllText(filepath, content, Encoding.Default); } } 14.在保存的时候必须输入保存路径才能正常执行,没有实现文本文 档的基本保存功能。 并且在打开一个原本有内容的文本文档之后, 加以修改再保存就不能保存新的内容。

15.获取 TextBox 中获取一行的值,使用 TextBox 的 Lines 属性来获 取

16.做删除操作时,由 MeageBoxv.show 来弹出一个确认窗体,把返 回的值赋给一个 DialogResult 类型的变量

17.在复制文件时,CopyTo 函数将第二个参数置为 TRUE 则在复制时, 如果文件存在会被覆盖掉。

18.在向文件写入数据时, 使用 Encoding 的 Default 的属性可避免输 入中文乱码问题。 19.关于上午的文件编程, 刚开始对程序要执行的具体操作不够明确, 在编程时,功能实现的矛盾性问题很多,其问题在于编程前分析 不够到位;

20.文件编程中起先将打开文件定位为文件夹,导致弹出对话框显示 “不存在此文件”; 21.File.WriteAllLines(),无法将临时修改后的文件信息进行正 确保存,文本没有实现正确的回车换行;File.WriteAllText() 能实现;

22.this.Close() 无法实现程序的结束 Close()方法是关闭 Form 23.当创建了控件的响应事件后,修改控件的 name 属性,响应事件 名为改变,但并不影响进程的进行,要修改方法名应删除该响应 方法,双击控件,重新获得响应事件。

24.代码经常会出现命名不规范的情况,同时没有写注释的习惯

25.经常会丢掉方法后的括号,如 savedialog1.showdialog() 26.一 些 方 法 中 的 细 微 差 别 如 File.Write.AllLine 27.对于异常的处理经常忽略,导致程序的容错处理比较差。

28.当编辑框改变时有两种情况,一种是打开,一种是编辑,当打开 时不应该记录改变标志。 解决的办法:做一个打开标志,当打开操作时,赋值为 true,在 文本框的改变函数中判断,如果是打开操作,将打开操作之位 false,同时文本改变标志值为 false

29.此处如何把长整形变量赋值给一个 string 类型? 使用 ToString() 30.如何在文本框上添加滚动条。 设置 TextBox.ScrollBars

31.textbox 控件大小跟窗体一起变化:刚开始想通过相应窗体大小 改变事件的办法解决,后来通过其他同学得知可以通过更改 textbox 的 Dock 属性(改为 Fill)来解决。

32.当 textbox 空间的文本改变时,进行新建、打开、退出等操作时 应提示用户是否保存更改,通过设置文件更改标志(flag)并相 File.WriteAllText 和 响 textbox 的 textchanged 事件来解决。

33.由于需要提示用户保存更改,

开始时代码控制结构写的很复杂, 连自己也有点难理解。后来用调用“保存”事件的响应函数(刚 开始一位不能这样)后才解决这一问题。

34.由于刚开始做,命名方面不是很规范,导致了变量、方法和类的 名字不易区分,不能一目了然,间接增加了编写程序所需的时间。 解决方法是在编写程序中时刻遵守命名规范。

35.在对文件操作时,文件的路径经常出错,原因是少了转换为绝对 路径的@。

36.对文件注释太少,经常导致前面编过的代码过一段时间就完全看 不懂了,所以,在编程中也要养成随时加注释的习惯,其实这样 做表面上是增加了时间,统筹来看,这样做既方便了自己日后修 改程序,又为阅读我们程序的人提供了便利。

37.文件操作经常出错,程序无法运行,要因此要异常处理,比如说 用 try,catch 对异常处理。

38.在昨天上午的文件操作中,第一个问题就是路径的合法性检测。 由于不知道 c#是否存在像 c++ acce()一样的方法。最后使用 OpenFileDialog 来限定用户输入。 可以使用正则表达式验证 39.再有就是文件操作异常处理。C#的异常处理还是很方便的,昨天 的经验是只要使用 try catch 语句,在 catch 中不作任何处理程 序也不会当掉。

40.MeageBox.Show(\"你还没有保存上次的修改, 是否保存修改?\", \"保存\", MeageBoxButtons.YesNoCancel);选项的判断 问 同 学 得 : 返 回 值 为 DialogResult.No DialogResult.Yes DialogResult.Cancel 41.2 . private

void

Form1_FormClosing(object

sender, FormClosingEventArgs e)中如何取消关闭 问同学得:e.Cancel = true; 42.如何实现修改后 “新建”“打开”等提示保存 点打开保存后记 录存储路径

43.新建 2 个成员记录:private string Pathname; private bool savetxt=true;

44.如何在两个窗体间传递值。通过向同学和老师询问,知道传值有 很多种方法,我用的就是调用构造函数,可是老师也说了如果值 比较多的时候,这种方法还是有缺陷的。 使用构造函数可以,只是也用对象会好一些。

45.当汉字改成英文时,函数中仍然是汉字,如果直接在 program.cs 中改容易出问题,怎么改? 利用 VS 的代码重构

46.如何改窗体的默认主题样式 可以使用第三方控件完成

47.TextBox 中文本值改变时的响应事件(可以添加事件响应函数) 。

48.文 件 打 开 中 将 文 件 写 到 textbox 中 : 定 义 string[] 调 用 File.ReadAllLines 函数将文件内容逐行读入到字符串数组中, 然后利用 for 循环将文件内容逐行写出到控件中。

49.填写邮箱和文件路径的时候需要有正确的规格,因为之前接触过 c#不知道该如何完成,后来在经过询问他人和网上资料查询得知 用正则表达式来规范正确

的格式,便避免了这方面因格式而导致 的问题。

50.当输入多行字符串,保存过后进行查看时,当有换行就会出现黑 乎乎的正方形。 换行:\\r\\n

51.假设某个事件已经做好,可以作为一个模块使用,那么如何在其 他代码中调用此模块

52.记事本的查找、替换模块不知道如何实现 需要使用字符串函数

53.打开 txt 文件的时候中文没有乱码但是保持了之后在打开就有了 乱码 实现:原先是因为保持的时候没有使用 encoding.default 54.保存时文件不能自动保存文件 ?自动保存文件

55.在做简易记事本的途中,创建快捷键的时候遇到一点问题,当在 杂项的 Shortcutkeys 中选择 shift 的时候, 它会报属性值无效的 错误,后来无奈之下选择了 Ctrl,居然就正确了

56.还有在 TextBox 的属性 Dock 选择了 fill 的时候,依然没有变成 全部填充,真是百思不得其解! 需要将 TextBox 设置为多行文本

57.发现了一种比较简便的方法: 已经做完的某个控件出发的事件,可以作为一个法方来使用。 例: private void SaveMenu_Click(object sender, EventArgs e) { //判断文件是否已有路径,若无,选定路径,若有,保存在最新操作的文件路径下 if (path == string.Empty) { if (SolgSave.ShowDialog() == DialogResult.OK) { path = SolgSave.FileName; File.AppendAllText(path, txtEdit.Text, Encoding.Default); } } else { File.AppendAllText(path, txtEdit.Text, Encoding.Default); } } private void ExitMenu_Click(object sender, EventArgs e) { if (txtEdit.Text != string.Empty) { DialogResult dr = MeageBox.Show(\"是否保存当前文本至

\"+path,\"

\", MeageBoxButtons.OKCancel,MeageBoxIcon.Warning); if (dr == DialogResult.OK) { //使用保存文本方法 this.SaveMenu_Click(sender,e); //SaveMenu 的单击事件 } } //退出程序 Application.Exit(); }

58.RichTextBox 与 TextBox 的换行区别问题。 在 TextBox 中是以\\r\\n 为换行标志,而在 RichTextBox 中是以\\n 为换行标志。 我在 C#程序中使用 RichTextBox 将其文本内容保存为文本文件, 即(*.txt)类型的文件时,文本不能正常的换行,且出现一些乱码。 这是由于文本文件是以\\r\\n 作为换行符,当我改用 TextBox 时,就 没有这样的问题了。

59.文本的选中问题。 SelectedText 这一属性可以指向当前控件中选中的文本, 60.通常我们会发现,保存操作在文本没有保存的情况下时才会出现 保存文件对话框,当文本已经保存过时,新增的文本会保存到原 文件中,这两个操作需要对文本是否保存过进行判断。我采用了 判断路径的方法对我文本是否保存过进行了判断,当文本路径存 在时,表明文本已经保存过,反之,则没有保存过。

《C专家编程》总结

C语言编程自我总结

C语言编程

编程题总结

编程题总结

描述性编程总结

c语言编程题

手机短号C编程

c语言编程大题

c语言编程练习

编程知识总结C难点总结
《编程知识总结C难点总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档