参考书本《Visual C# .Net程序设计与应用开发》
学习C#:
对象的封装性:通过get()、set()函数读写。
1.Visual C#面向对象编程中的继承、多态。
2.enum:枚举,array.copy方法:数组拷贝,public static void array.copy(object src,int srcPos,Object dest,int destPos, int length),从指定的数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束,src - 源数组,srcPos - 源数组中的起始位置,dest - 目的数组,destPos - 目标数据中的起始位置,length - 长度。
3.Meunstirp控件: 添加菜单栏;TextBox控件
4.调用打开应用程序/文件: System.Diagnostics.Process.Start(@"C:\Windows\System32\notepad.exe");
5.用户自定义控件TextValidate,输入非数值数字进行异常提醒。
6.多项目设计与开发:建立空白解决方案,在此下面添加Windows窗体应用程序、类库、Windows用户控制库,Windows窗体应用程序引用类库、Windows用户控制库,以便引用其中的类。
遇见问题:
1.ArgumentOutOfRangeException发生 InvalidArgument =值’1’对’SelectedIndex’无效。 参数名称:SelectedIndex SelectedIndex = -1
控件属性中集合未添加/设置成员
2.doubleinput控件显示数据类型
控件的displayformat 属性可以设置多位小数(f5)或科学计数法(e4)
3.无法将类型“Name”隐式转换为"System.Windows.Forms.DataGridView"的错误
Name重复命名,已有控件的命名是该名称
4.文件的创建、读取、保存
//创建EXCEL
HSSFWorkbook wk = null;
//创建一个Sheet 打开 outputFolderPath
ISheet sheet = null;
using (FileStream stream = File.Open(outputFolderPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new HSSFWorkbook(stream);
stream.Close();
}
sheet = wk.GetSheet("sheet1");
//表格不存在creatcell,表格存在直接getcell
for (int i = 0; i < 2; i++)
{
IRow row = sheet.CreateRow(3 + i);
for (int j = 0; j < 9; j++)
row.CreateCell(j);
}
//设置内容
sheet.GetRow(3).GetCell(0).SetCellValue("内容");
// 写入并关闭
using (FileStream fileStream = File.Open(outputFolderPath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
wk.Write(fileStream);
fileStream.Close();
}
//打开并确认
if (MessageBox.Show("导出路径为" + outputFolderPath + @",是否打开?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
System.Diagnostics.Process.Start(outputFolderPath);
}
5.表格风格属性 DotNotBar
属 性 | 意 义 |
FormBorderStyle.None | 无边框 |
FormBorderStyle.FixedSingle | 固定的单行边框 |
FormBorderStyle.Fixed3D | 固定的三维样式边框 |
FormBorderStyle.FixedDialog | 固定的对话框样式的粗边框 |
FormBorderStyle.Sizable | 可调整大小的边框 |
FormBorderStyle.FixedToolWindow | 不可调整大小的工具窗口边框 |
FormBorderStyle.SizableToolWindow | 可调整大小的工具窗口边框 |
6. goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成。
语法形式如下。
goto Labell;
语句块 1;
Labell
语句块 2;
7.线程问题
/1 从工具箱添加backgroundWorker
backgroundWorker_DoWork
StopProcessToolStripMenuItem.Visible = true;
/2 线程完成
backgroundWorker_RunWorkerCompleted
StopProcessToolStripMenuItem.Visible = false;
/3 运行该线程backgroundWorker.RunWorkerAsync()