清华大学C#教程.docx
- 文档编号:3227095
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:18
- 大小:32.29KB
清华大学C#教程.docx
《清华大学C#教程.docx》由会员分享,可在线阅读,更多相关《清华大学C#教程.docx(18页珍藏版)》请在冰点文库上搜索。
清华大学C#教程
本文由txzqy123贡献
doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
目录第1篇基础窗体开发篇第1章窗体设置(教学视频:
55分钟)2
1.1常规窗体设置2
实例001控制窗体大小2this.MaximumSize=newSize(width,height);实例002最前端显示窗体3this.topmost=true;
实例003设置窗体相对起始位置3
Form1form=newForm1();form.Location=newPoint(400,200);
form.StartPosition=FormStartPosition.Manual;
location只有当只有当startposition为manual时才起作用只有当为时才起作用
实例004设置窗体透明度4
Opacity=xx%;
实例005设置窗体颜色5
This.BackColor=Color.BlueViolet;或者直接设置颜色代码;This.BackColor=Color.FromArgb(255,34,234);
实例006在多窗体间移动控件6
窗体中添加控件
this.Control.Add(this.label1);label1.text=””;
实例007右对齐窗体标题文字7
RighttoLeft=true;
实例008改变无边框窗体大小7
ControlText=false;
实例009移动无边框窗体8
boolbeginMove=false;//初?
始o?
化?
¥intcurrentXPosition;intcurrentYPosition;//鼠o¨?
标à¨o移°?
动?
¥事o?
件tprivatevoidForm1_MouseMove(objectsender,MouseEventArgse){if(beginMove){
this.Left+=MousePosition.X-currentXPosition;//根¨′据Y鼠o¨?
标à¨ox坐á?
标à¨o确¨?
¤定?
§窗?
?
?
体?
?
的ì?
左á¨?
边à?
坐á?
标à¨oxthis.Top+=MousePosition.Y-currentYPosition;//根¨′据Y鼠o¨?
标à¨o的ì?
y坐á?
标à¨o窗?
?
?
体?
?
的ì?
顶£¤部?
,ê?
即?
?
Y坐á?
标à¨ocurrentXPosition=MousePosition.X;currentYPosition=MousePosition.Y;}}privatevoidForm1_MouseDown(objectsender,MouseEventArgse){beginMove=true;currentXPosition=MousePosition.X;//鼠o¨?
标à¨o的ì?
x坐á?
标à¨o为a当ì?
à前?
?
窗?
?
?
体?
?
左á¨?
上|?
角?
x坐á?
标à¨ocurrentYPosition=MousePosition.Y;//鼠o¨?
标à¨o的ì?
y坐á?
标à¨o为a当ì?
à前?
?
窗?
?
?
体?
?
左á¨?
上|?
角?
y坐á?
标à¨o}privatevoidForm1_MouseUp(objectsender,MouseEventArgse){beginMove=false;//停a?
ê止1移°?
动?
¥}privatevoidForm1_MouseLeave(objectsender,EventArgse){currentXPosition=0;//设|¨¨置?
初?
始o?
状á?
?
态?
?
currentYPosition=0;beginMove=false;}
实例010禁止关闭窗体9
在主e.Cancel=true;
实例011通过控件拖动窗体10
privatevoidbutton1_MouseDown(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left)//如¨?
果?
事o?
件t是o?
由?
¨|鼠o¨?
标à¨o左á¨?
键¨1激?
è发¤?
é;ê?
button1.leftbutton1距¨¤离¤?
容¨Y器?
?
的ì?
左á¨?
边à?
距¨¤离¤?
{
startX=e.X;startY=e.Y;}}privatevoidbutton1_MouseMove(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){this.Left+=e.X-startX;this.Top+=e.Y-startY;}}
实例012根据窗体自动调整控件111.2特殊窗体设置13实例013设计不规则窗体13
this.TransparencyKey=Color.Yellow
实例014设计带分隔栏的窗体14Splitcontainer;实例015在窗体中滚动字幕14
添加timer组件增加timer的tick事件
实例016设计闪烁的窗体15实例017设计动画显示窗体16实例018设计运动的窗体18
添加timer组件
实例019修改提示框字体及颜色18实例020建立字体形状窗体20实例021设计带帮助键的窗体20
Helpbutton=true1.3对话框的应用21
实例022使用ColorDialog调用Windows颜色对话框21
添加colordialog控件colorDialog1.ShowDialog();this.BackColor=colorDialog1.Color;
实例023使用FolderBrowserDialog调用Windows浏览文件夹对话框22
添加folderBrowDialog控件
if(folderBrowserDialog1.ShowDialog()==DialogResult.OK){textBox1.Text=folderBrowserDialog1.SelectedPath;}
实例024使用FontDialog调用Windows字体对话框23
添加fontdialog控件
if(this.fontDialog1.ShowDialog()==DialogResult.OK){this.label1.Font=this.fontDialog1.Font;this.label1.ForeColor=this.fontDialog1.Color;
}
实例025使用OpenFileDialog调用打开文件对话框23
openFileDialog1.InitialDirectory="C:
\\";openFileDialog1.Filter="文?
本à?
文?
件t(*.txt)|*.txt|所¨′有?
D文?
件t(*.*)|*.*";if(this.openFileDialog1.ShowDialog()==DialogResult.OK){label1.Text=openFileDialog1.FileName;System.IO.StreamReadersr=newSystem.IO.StreamReader(openFileDialog1.FileName);this.textBox1.Text=sr.ReadToEnd();sr.Close();}
实例026使用SaveFileDialog调用保存文件对话框24
StreammyStream;//声|¨′明?
?
流¢?
?
对?
象¨?
//过y滤?
条?
?
件tsaveFileDialog1.Filter="txtfiles(*.txt)|*.txt|Allfiles(*.*)|*.*";saveFileDialog1.FilterIndex=2;saveFileDialog1.RestoreDirectory=true;if(saveFileDialog1.ShowDialog()==DialogResult.OK){if((myStream=saveFileDialog1.OpenFile())!
=null)//打?
¨°开a文?
件t不?
为a空?
{//myStream.Write(textBox1.Text);//写?
?
入¨?
myStream.Close();//关?
闭à?
流¢?
?
}}
1.4特色程序界面25
实例027类似Windows的程序界面25实例028类似QQ的程序界面28实例029类似Office助手的程序界面29实例030根据鼠标状态设置动态变化的按钮30
添加mousemovemouseleave1.5其他技术31
实例031为MDI类型窗体设置背景图片32
frm.MdiParent=this
实例032继承窗体设计32
同类的继承第2章控件的应用(教学视频:
92分钟)342.1菜单34实例033动态创建菜单34
实例034类似Windows的菜单35
各项添加image实例035任务栏托盘菜单36
退出Application.Exit();
if(this.WindowState==FormWindowState.Minimized)this.WindowState=FormWindowState.Normal;this.Activate();//设|¨¨为a活?
动?
¥窗?
?
?
体?
?
实例036改变菜单字体37
this.menuStrip1.Font=newFont("华a文?
楷?
体?
?
",12);
实例037将菜单置于窗体右侧37
Dock=right
实例038浮动菜单38
可移动的菜单移动控件
实例039级联菜单39
Manuscript级联
实例040带历史信息的菜单40
if(File.Exists("Menu.ini"))//判D断?
文?
件t是o?
否¤?
存?
?
在¨2{StreamReadersr=newStreamReader("Menu.ini");//创?
?
?
建?
§文?
件t流¢?
?
inti=this.文?
件tToolStripMenuItem.DropDownItems.Count-2;//获?
取¨?
索?
?
引°y项?
while(sr.Peek()>=0)//读¨¢取¨?
文?
件t流¢?
?
{//将?
读¨¢取¨?
的ì?
信?
息?
é创?
?
?
建?
§菜?
单죤项?
ToolStripMenuItemmenuitem=newToolStripMenuItem(sr.ReadLine());//将?
菜?
单죤项?
添?
¨a加¨?
到ì?
指?
定?
§位?
置?
this.文?
件tToolStripMenuItem.DropDownItems.Insert(i,menuitem);i++;}sr.Close();//关?
闭à?
流¢?
?
}openFileDialog1.FileName="";this.openFileDialog1.ShowDialog();//打?
¨°开a对?
话?
?
框¨°StreamWriters=newStreamWriter("Menu.ini",true);//创?
?
?
建?
§流¢?
?
s.WriteLine(openFileDialog1.FileName);//流¢?
?
写?
?
入¨?
文?
件ts.Flush();s.Close();
实例041为菜单添加图标41
实例042设计透明菜单42
Backgroundcolor=transparent;2.2工具栏42
实例043设计浮动工具栏42
Toolscriptcontaint
实例044设计带背景的工具栏43
Backgroundimage;
实例045设计带下拉菜单的工具栏43
Toolscript
实例046为工具栏按钮增加提示功能44
Text2.3状态栏45
实例047在状态栏中加入进度条45
while(toolStripProgressBar1.Value 度¨¨条? ? 增? 加¨? } 实例048为状态栏中加入图标45 Tooscriptstatuslabelimage 实例049动态更新状态栏信息46 stringmessage=string.Format("{0},{1}",MousePosition.X.ToString(),MousePosition.Y.ToString());this.tsslLocation.Text=message;//显? 示o? 在¨2控? 件t中Dthis.tsslTime.Text=DateTime.Now.ToLongTimeString();//显? 示o? 系|ì统a3时o? à间? 2.4文本框47 实例050自动删除非法字符47实例051设计密码输入框49 Passwordchar 实例052限制文字长度49 Maxlength 实例053设置多行显示与滚动条50 ScrollbarMultiline2.5按钮51 实例054为按钮增加图标51 Button的image属性 实例055设计不规则按钮51实例056设计多种状态按钮53 Mouseentermouseleve时改变背景图片2.6选择类控件54 实例057利用选择控件实现权限设置54 Radiobuttoncheckboxchecklistbox的check的值。 实例058利用选择控件实现复杂查询56 Radiobuttoncheckboxchecklistbox的check的值。 2.7组合框控件58 实例059从文件读入选项59 逐行读取 StreamReaderstream=File.OpenText("aa.txt");//打? ¨°开a文? 件t并? é进? 行D读¨¢取¨? Stringstr;//定? §义°? 变à? 量¢? //读¨¢取¨? 文? 件t到ì? 末? 尾2并? é显? 示o? 在¨2组á¨|合? 框¨°中Dwhile((str=stream.ReadLine())! =null){comboBox1.Items.Add(str);} 实例060根据输入增加选项60Combobox输入信息 if(comboBox1.Text! =""){stringnewItem=comboBox1.Text.Trim();//获? 取¨? 输o? 入¨? 文? 本à? boolflag=false;//标à¨o识o? 变à? 量¢? for(inti=0;i 是o? 否¤? 有? D相¨¤同a? 项? if(string.Compare(newItem,comboBox1.Items[i].ToString())==0){flag=true;MessageBox.Show("已°? 经-有? D相¨¤同a? 项? ,ê? 不? 能¨1再¨′添? ¨a加¨? "); }}if(flag==false){comboBox1.Items.Add(newItem);//将? 输o? 入¨? 文? 本à? 添? ¨a加¨? 到ì? 项? 中DcomboBox1.Text="";}} 实例061绑定数据源61 Comboboxdisplaymember: 前台显示的字段。 ValueMember: 后台取值的字段。 stringconnString="server=.;database=cars;uid=sa;pwd=sa";//创? ? ? 建? §数oy据Y连¢? 接¨? 对? 象¨? SqlConnectionconn=newSqlConnection(connString);//查¨|询? ¥语? ? 句? stringsql="select*fromcarstype";//创? ? ? 建? §数oy据Y集? ¥对? 象¨? DataSetds=newDataSet();//创? ? ? 建? §数oy据Y适o¨o配? 器? ? SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);//填? ? 充? 数oy据Y集? ¥adapter.Fill(ds,"carstype");//指? 定? §组á¨|合? 框¨°的ì? 数oy据Y源? ? cboCartype.DataSource=ds.Tables["carstype"];//显? 示o? 的ì? 字á? 段? cboCartype.DisplayMember="type";} 2.8富文本框63 实例062显示Word文档63添加windowsofficeobject引用实例063完成字符查找与替换64 函数执行成功时返回删除了string字符串首部和尾部空格的字符串this.txtSearch.Text.Trim(); Replace 实例064显示图片67 2.9ListBox控件68 实例065在ListBox间拖放选项68 lstNewFont.Items.Add(lstOldFont.SelectedItem);//将? 选? 定? §项? 添? ¨a加¨? 到ì? 新? 列¢D表à¨a框¨°中DlstOldFont.Items.Remove(lstOldFont.SelectedItem); 实例066绑定数据源到ListBox控件69 stringconnStr="server=.;database=myBlog;uid=sa;pwd=sa";SqlConnectionconn=newSqlConnection(connStr);stringsql="select*fromusers";conn.Open();SqlCommandcomm=newSqlCommand(sql,conn);SqlDataReaderreader=comm.ExecuteReader();while(reader.Read()){lstData.Items.Add(reader["name"].ToString());}reader.Close();conn.Close(); 实例067ListBox重复选项检测71 Compare 实例068动态增加选项列72 Lisbox1.Items.add(); 实例069自定义ListBox项的颜色74 2.10ListView控件75 实例070重复选项检验75 ListView.Items.Add(); 实例071绑定数据源到ListView76实例072对选项进行排序79 ListView1.Sorting=System.Windows.Forms.SortOrder.Ascending; 实例073单个控件中拖动数据项79实例074多个控件中拖动数据项82 实例075设置整行选中84 Listviewview设为detailfullrowselect为true 实例076为数据项设计分组84 Listview2.11树控件85group为组名选定后选择items为组内容 实例077绑定数据源85 Treeview和listview 实例078用递归(Recursion)方法增加节点87实例079搜索树节点88 stringsearch=this.textBox1.Text.ToString();//多¨¤重? 循-环? ¤检¨? 测a节¨2点ì? 文? 本à? for(inti=0;i 节¨2点ì? 文? 本à? 是o? 否¤? 与? ? 搜? 索? ? 文? 本à? 相¨¤同a? if(search==tvwData.Nodes[i].Nodes[j].Text){//设|¨¨置? 为a选? 定? §的ì? 节¨2点ì? tvwData.SelectedNode=tvwData.Nodes[i].Nodes[j];//设|¨¨置? 选? 定? §的ì? 颜? 色|? tvwData.SelectedNode.BackColor=Color.Azure;}}if(search==tvwData.Nodes[i].Text.ToString()){tvwData.SelectedNode=tvwData.Nodes[i];tvwData.SelectedNode.BackColor=Color.FromArgb(255,34,234);} 实例080拖动树节点90 实例081遍历磁盘目录92 privatevoidAddDirectories(TreeNodenode){try{DirectoryInfodir=newDirectoryInfo(GetPathFromNode(node));DirectoryInfo[]e=dir.GetDirectories();for(inti=0;i name.Equals(".")&&! name.Equals("..")){node.Nodes.Add(newTreeNode(name));}}}catch(Exceptione){MessageBox.Show(e.Message);}} privatevoidAddSubDirectories(TreeNodenode)//TreeNod
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华大学 C# 教程