C#课程设计报告.docx
- 文档编号:10667273
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:17
- 大小:1.27MB
C#课程设计报告.docx
《C#课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
C#课程设计报告
课程设计
C#测量点坐标
入库文件程序开发
班级:
___________
姓名:
___________
学号:
___________
日期:
___________
1、C#简介.
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
C#包括了诸如单一继承、接口、编译成中间代码再运行的过程。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
2、测量点坐标入库文件开发程序功能介绍
(2).增加记录:
在textBox控件里输入数据,利用try……catch控制坐标录入为浮点数,若输入其他字符则弹出对话框“输入字符串格式不正确!
”。
点击“增加”按钮则添加数据到ListView列表中。
行数ID随着添加数据行数的增加而自动增加。
(3).删除记录:
选中某一行,再点击删除按钮,即可删除所选行内容。
同时清空textBox控件里的内容。
若没有选中,则弹出对话框“您没有选中要删除的行!
”
(4).修改记录:
在textBox控件里输入正确的数据,利用try……catch控制坐标录入为浮点数,若输入其他字符则弹出对话框“输入字符串格式不正确!
”。
然后选中要修改的某一行的数据,点击“修改”按钮,即可将错误数据替换成正确数据。
若没有选中,则弹出对话框“您没有选中要修改的行!
”
(5).清空记录:
点击“清空”按钮,将ListView列表和textBox文本框中数据全部清空。
(6).导出数据:
点击“导出”按钮,将ListView列表中的数据以坐标分隔符为英文逗号“,”导出到一个新建的txt文件里。
并可以重命名txt文件,选择文件保存位置。
(7).导入数据:
将上述导出的文件重新导入ListView列表中。
(8).退出:
点击“退出”按钮,退出程序。
(9).点号查询:
输入ID可以查询行并使该行高亮显示。
3、流程图设计
4、界面设计
(1)用户登录界面
(2)程序主界面
添加数据
修改数据
导出数据
导入数据
点号查询
5、源代码解析说明
1.Programs.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Windows.Forms;
namespace_122
{
staticclassProgram
{
///
///应用程序的主入口点。
///
[STAThread]
staticvoidMain()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form2F2=newForm2();
F2.Show();
Application.Run();
}
}
}
2.用户登录界面程序代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespace_122
{
publicpartialclassForm2:
Form
{
inti=0;
publicForm2()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringusername=textBox1.Text;//文本框中获取登录名和密码
stringpassword=textBox2.Text;
if(username=="admin"&&password=="123456")
{
DialogResultresult=MessageBox.Show("登陆成功!
欢迎进入!
","是否登录",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
textBox1.Text="";
textBox2.Text="";
textBox1.Focus();
this.Hide();//隐藏登陆界面
if(result==DialogResult.OK)
{
//打开主界面Form1
Form1frm=newForm1();
frm.ShowDialog();
}
else
{
Application.Exit();
}
}
else
{
i++;
if(i>=3)
{
MessageBox.Show("登陆次数过多,请放弃登陆!
");
Application.Exit();
}
MessageBox.Show("登陆错误,您还能登陆"+(3-i)
+"次!
");
textBox1.Text="";
textBox2.Text="";
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();//退出登陆界面
}
privatevoidForm2_Load(objectsender,EventArgse)
{
}
}
}
3.主程序代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.IO;
namespace_122
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidlistView1_SelectedIndexChanged(objectsender,EventArgse)
{
}
privatevoidForm1_Load(objectsender,EventArgse)
{
//编辑列成员
listView1.Columns.Add("ID",78);
listView1.Columns.Add("X",190);
listView1.Columns.Add("Y",190);
listView1.Columns.Add("Z",190);
//显示表格线
listView1.GridLines=true;
//显示表格细节
listView1.View=View.Details;
//对表头进行设置
listView1.HeaderStyle=ColumnHeaderStyle.Clickable;
//是否可以选择整行
listView1.FullRowSelect=true;
//需要时候显示滚动条
listView1.Scrollable=true;
}
//声明了一个以数组形式添加数据的方法
publicvoidAddlistViewItems(inti,floatb,floatc,floatd)
{
ListViewItemitem=newListViewItem(newstring[]{i.ToString(),b.ToString(),c.ToString(),d.ToString()});
//添加数据
listView1.Items.Add(item);
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
//退出程序
Application.Exit();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
try
{
inti;
//调用方法添加数据
AddlistViewItems(i=1,float.Parse(textBox1.Text),float.Parse(textBox2.Text),float.Parse(textBox3.Text));
//行号自增加,将行号赋予所在的行
for(i=0;i { listView1.Items[i].SubItems[0].Text=(i+1).ToString(); } //清除文本框,并将光标移到textBox1里 textBox1.Text=""; textBox2.Text=""; textBox3.Text=""; textBox1.Focus(); } catch(Exceptionee) { MessageBox.Show(ee.Message.ToString(),"错误",MessageBoxButtons.OK,MessageBoxIcon.Error); } } privatevoidtextBox2_TextChanged(objectsender,EventArgse) { } privatevoidbutton1_Click(objectsender,EventArgse) { if(listView1.SelectedItems.IndexOf(listView1.FocusedItem)<0) { MessageBox.Show("您必须选中要删除的行! "); } else { //遍历选中的值 foreach(ListViewItemiteminthis.listView1.SelectedItems) { //把选中的行删除 if(item.Selected) { item.Remove(); } } } } privatevoidtextBox1_TextChanged(objectsender,EventArgse) { } privatevoidbutton5_Click(objectsender,EventArgse) { SaveFileDialogsaveFileDialog=newSaveFileDialog(); //设置文件类型 saveFileDialog.Filter="txtfiles(*.txt)|*.txt"; //保存对话框是否记忆上次打开的目录 saveFileDialog.RestoreDirectory=true; //Showsavefiledialogbox DialogResultresult=saveFileDialog.ShowDialog(); //点了保存按钮进入 if(result==DialogResult.OK) { //为用户使用SaveFileDialog选定的文件名创建读/写文件流。 System.IO.FileStreamfs=(System.IO.FileStream)saveFileDialog.OpenFile(); //初始化StreamWriter类的实例 StreamWritersw=newStreamWriter((System.IO.FileStream)fs); //输出数据; for(inti=0;i { sw.WriteLine(listView1.Items[i].SubItems[0].Text+"," +listView1.Items[i].SubItems[1].Text+","+listView1.Items[i].SubItems[2].Text+"," +listView1.Items[i].SubItems[3].Text); } sw.Close(); } } privatevoidbutton2_Click(objectsender,EventArgse) { if(listView1.SelectedItems.IndexOf(listView1.FocusedItem)<0) { MessageBox.Show("您必须选中要修改的行! "); } else { listView1.SelectedItems[0].BackColor=Color.Gray; try { floata,b,c; a=float.Parse((this.textBox1.Text)); b=float.Parse((this.textBox2.Text)); c=float.Parse((this.textBox3.Text)); //将修改后的数据送到需要修改数据的行 this.listView1.SelectedItems[0].SubItems[1].Text=a.ToString(); this.listView1.SelectedItems[0].SubItems[2].Text=b.ToString(); this.listView1.SelectedItems[0].SubItems[3].Text=c.ToString(); } catch(Exceptionee) { MessageBox.Show(ee.Message.ToString(),"错误",MessageBoxButtons.OK,MessageBoxIcon.Error); } } } privatevoidbutton6_Click(objectsender,EventArgse) { //清除文本框中的内容 this.textBox1.Text=""; this.textBox2.Text=""; this.textBox3.Text=""; //清除listView列表中所有的内容 listView1.Items.Clear(); } privatevoidbutton7_Click(objectsender,EventArgse) { //定义一个文件打开控件 OpenFileDialogfileName=newOpenFileDialog(); if(fileName.ShowDialog()==System.Windows.Forms.DialogResult.OK) { //获得用户选择的文件路径 using(StreamReaderfs=newStreamReader(fileName.FileName)) { //读取文件 strings=fs.ReadToEnd(); //获得一个字符串数组,内容是除空行后之外的其他每行的内容 string[]lines=s.Split(newchar[]{'\r','\n'},StringSplitOptions.RemoveEmptyEntries); foreach(variinlines) { //清除字符',' string[]data=i.Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries); //导入数据 listView1.Items.Add(newListViewItem(data)); } } } } privatevoidbutton8_Click(objectsender,EventArgse) { if(textBox4.Text=="") { MessageBox.Show("请输入ID以搜索行","提示",MessageBoxButtons.YesNo); } else { try { inti=Convert.ToInt16(textBox4.Text); listView1.Items[i-1].SubItems[0].BackColor=Color.Red; textBox4.Text=""; textBox4.Focus(); } catch { MessageBox.Show("请正确输入! "); } } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计 报告