传智播客CWinform笔记苏坤.docx
- 文档编号:10575239
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:20
- 大小:186.88KB
传智播客CWinform笔记苏坤.docx
《传智播客CWinform笔记苏坤.docx》由会员分享,可在线阅读,更多相关《传智播客CWinform笔记苏坤.docx(20页珍藏版)》请在冰豆网上搜索。
传智播客CWinform笔记苏坤
WinForms:
一个窗体其实就是一个类
partial关键字,部分类,允许我们把一个类放在多个文件中
Application.Run(运行应用程序要启动的窗体对象)
Button控件:
属性:
BackColor:
背景颜色
BackgroundImage:
设置背景图片
BacklgroundImageLayout:
背景图片的显示样式
Cursor:
鼠标进入的现实样式
Enabled:
该对象是否可用
Font:
字体样式
Location:
控件的位置
Size:
大小
Text:
文本
Visible:
是否可见
按钮事件:
Click
MouseEnter:
鼠标进入触发一次
MouseLeave:
鼠标离开触发一次
MouseMove:
在鼠标在控件上移动时不断的触发
Label控件:
用于向用户显示信息
属性:
Text:
向用户展示的信息
窗体:
属性:
Icon:
窗体左上角的图标
FormBorderStyle:
窗体的边线样式
MaximizeBox:
最大化按钮是否可用
MinimizeBox:
最小化按钮是否可用
Opacity:
透明度0-1
ShowInTaskbar:
是否在任务栏显示
StartPosition:
启动程序时显示的位置
Text:
标题栏中的文本
TopMost:
保持在最前端
WindowState:
指示窗体处于最大化最小化还是正常化
事件:
Load(默认):
窗体在显示之前最后一个被触发的事件,所以一般在这个事件中对窗体上的控件进行初始化赋值
Activated:
窗体获得焦点时触发
Deactivated:
窗体失去焦点时触发
默认确认按钮:
AcceptButton
默认取消按钮:
CancelButton
注意:
窗体的enter和leave事件被取消,请不要使用
FormClosing:
窗体关闭前触发的事件
方法:
Close()
Show()以非模态形式显示窗体,可以不停打开窗体,程序不会停到这里
ShowDialog()以模态的形式显示窗体,只能打开一个窗体,程序会停到这里
System.Diagnostics.Process.Start("");
TextBox:
文本框
属性:
MaxLength:
用户能够输入的最大长度
MultiLine:
是否可以多行
PasswordChar:
掩码
ReadOnly:
文本框内容只读
SelectionStart如果是选中一段文本,则为起始位置,如果没有选中,则指示光标位置。
注意:
第一个位置为0
事件:
Enter:
获得焦点时触发
Leave:
失去焦点时触发
TextChanged:
当文本框的内容修改时触发该事件
KeryPress:
方法:
Focus();获得焦点
Select()
SelectAll()
PictureBox:
属性:
Image:
设置显示的图片
SizeMode:
显示的样式
设置Tab键顺序:
视图->tab键顺序
TabStop:
是否允许该控件获得焦点
1.窗体运行时要屏幕居中StartPosition
2.不允许最大化
3.不允许用户拖动窗体边框调整窗体大小FormBolderStyle
4.按Tab键,光标由上到下依次移动
5.异常要捕捉
6.Return退出方法
7.能够给用户指出是哪个文本框的数据有问题
8.当出错时,出错的文本框自动获得焦点,并选中以方便用户修改
9.利用TextChanged()事件,当用户修改加数时,清空计算结果
10.无论光标在哪里,按回车都会计算
11.只允许用户输入数字,其他字符输入不进去
12.输入数字时,第一个字符不能是0
每个窗体都有一个默认确认按钮(按回车时,就相当于点击了这个按钮)
每个窗体都有一个默认取消按钮(按ESC时,就相当于点击了这个按钮)
在计算机中,存储字符其实就是存储他的ascii码值
objectsender中存的就是触发控件的对象
校验数字
校验身份证:
校验18位身份证
System.Threading.Thread.Sleep(500);
txtText.Update();
Stopwatchwatch=newStopwatch();
watch.Start();
watch.Stop();
MessageBox.Show(string.Format(watch.ElapsedTicks.ToString()));
DateTime.Now.ToString(“yyyy-MM-ddHH:
mm:
ss”):
时分秒自动加0
//y表示年,M月,d表示日,HH表示24小时m分钟,是秒
应用程序的目录:
Application.StartupPath+”\\mm\\”
This.pictuerBox1.Image.FromFile(“路径”);
方法:
展开所有的节点
节点的Remove删除
CheckBox复选框:
属性:
Checked
Text
RadioButton:
单选框只能选择一个
Checked
处于同一分组下的所有RadioButton只能选中一个
ProgressBar:
进度条当进行大量计算时,最好给用户显示一个进度条,让用户知道你的程序没有死掉,正在运行
属性:
Maximum:
最大值指示进度条满时Value的值
Minimum:
最小值指示进度条一格都没有时value的值
Value:
进度条当前处于的位置
Application.DoEvents();
其他控件:
DateTimePicker:
日期选择控件
webBrowser1.Navigate(网址);
This.Activate();
Application.Exit();
IO操作:
与文件相关的类的命名空间
System.IO.File类;
GetFiles:
获得目录里的所有文件
GetDirectories:
获得所有目录
CreateDirectory:
创建目录
Copy复制文件
Exists文件是否存在
Delete:
删除目录、文件
OpenFileDialog\SaveFileDialog:
ShowDialog:
显示对话框的方法
Fileter:
过滤器openFileDialog1.Filter="图片|*.ico|all|*.*";
Filename:
用户选中的文件名及路径
复制单个文件:
复制目录文件
读一个文本文件:
1)声明一个文件流对象FileStream,用于创建内存与文件的对应关系
2)创建读写器StreamReader,用于操作文件流FileStream,把文件File读取进来
3)读取操作EndOfStream:
指示是否独到末尾ReadLine(),ReadToEnd()
4)关闭读取器
5)关闭文件流对象,释放对所操作文件的锁定
写一个文件步骤:
1)声明一个文件流对象
2)创建读写器StreamWriter
3)写入操作Write方法和WriteLine()方法
4)关闭写入器
5)关闭文件流对象
当不关闭的时候,有时候写入,有时候写入部分
Fs缓冲区满了以后或Close才会从内存写入文件
记事本程序:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.IO;
namespaceTEST8
{
publicpartialclassForm1:
Form
{
boolisTextChanged=false;
stringtextFileName="";
publicForm1()
{
InitializeComponent();
}
privatevoidnewNToolStripMenuItem_Click(objectsender,EventArgse)
{
txtText.Clear();
isTextChanged=false;
textFileName="";
}
privatevoidopenOToolStripMenuItem_Click(objectsender,EventArgse)
{
OpenFileDialogofd=newOpenFileDialog();
ofd.Title="打开文件";
ofd.Filter="文本文件|*.txt|所有文件|*.*";
if(ofd.ShowDialog()==DialogResult.OK)
{
string[]strs=File.ReadAllLines(ofd.FileName);
FileStreamfs=newFileStream(ofd.FileName,FileMode.Open,FileAccess.Read,FileShare.None);
StreamReadersr=newStreamReader(fs,Encoding.Default);
while(!
sr.EndOfStream)
{
stringline=sr.ReadLine();
txtText.Text+=line+"\r\n";
}
//txtText.Text=sr.ReadToEnd();
sr.Close();
fs.Close();
textFileName=ofd.FileName;
}
isTextChanged=false;
}
privatevoidsaveSToolStripMenuItem_Click(objectsender,EventArgse)
{
SaveText();
}
privatevoidtxtText_TextChanged(objectsender,EventArgse)
{
isTextChanged=true;
}
privatevoidexitEToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse)
{
if(isTextChanged==true)
{
DialogResultdr=MessageBox.Show("文本内容已经改变,是否保存","询问",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
if(dr==DialogResult.Yes)
{
SaveText();
}
elseif(dr==DialogResult.No)
{
}
else
{
e.Cancel=true;
}
}
intx=this.Location.X;
inty=this.Location.Y;
intw=this.Size.Width;
inth=this.Size.Height;
//规定一个配置文件app.dll
StreamWritersw=newStreamWriter(Application.StartupPath+"\\app.dll",false);
sw.WriteLine(x.ToString());
sw.WriteLine(y.ToString());
sw.WriteLine(w.ToString());
sw.WriteLine(h.ToString());
sw.WriteLine(txtText.ForeColor.R);
sw.WriteLine(txtText.ForeColor.G);
sw.WriteLine(txtText.ForeColor.B);
sw.Close();
}
privatevoidSaveText()
{
if(textFileName=="")
{
SaveFileDialogsfd=newSaveFileDialog();
sfd.Title="保存文件";
sfd.Filter="文本文件|*.txt|所有文件|*.*";
if(sfd.ShowDialog()==DialogResult.OK)
{
FileStreamfs=newFileStream(sfd.FileName,FileMode.Create);
StreamWritersw=newStreamWriter(fs,Encoding.Default);
sw.Write(txtText.Text);
sw.Close();
fs.Close();
isTextChanged=false;
textFileName=sfd.FileName;
}
}
else
{
FileStreamfs=newFileStream(textFileName,FileMode.Create);
StreamWritersw=newStreamWriter(fs,Encoding.Default);
sw.Write(txtText.Text);
sw.Close();
fs.Close();
isTextChanged=false;
}
}
privatevoid复制ToolStripMenuItem_Click(objectsender,EventArgse)
{
txtText.Copy();
}
privatevoid剪切ToolStripMenuItem_Click(objectsender,EventArgse)
{
txtText.Cut();
}
privatevoid粘贴ToolStripMenuItem_Click(objectsender,EventArgse)
{
txtText.Paste();
}
privatevoid查找ToolStripMenuItem_Click(objectsender,EventArgse)
{
intcurrentPos=txtText.SelectionStart;
intfindPos=txtText.Text.IndexOf("zhongguo",currentPos);
if(findPos!
=-1)
{
txtText.Select(findPos,2);
}
}
privatevoid字体ToolStripMenuItem_Click(objectsender,EventArgse)
{
FontDialogfd=newFontDialog();
fd.Font=txtText.Font;
if(fd.ShowDialog()==DialogResult.OK)
{
txtText.Font=fd.Font;
}
}
privatevoid字体颜色ToolStripMenuItem_Click(objectsender,EventArgse)
{
ColorDialogcd=newColorDialog();
cd.Color=txtText.ForeColor;
if(cd.ShowDialog()==DialogResult.OK)
{
txtText.ForeColor=cd.Color;
}
}
privatevoid背景颜色ToolStripMenuItem_Click(objectsender,EventArgse)
{
ColorDialogcd=newColorDialog();
cd.Color=txtText.BackColor;
if(cd.ShowDialog()==DialogResult.OK)
{
txtText.BackColor=cd.Color;
}
}
privatevoidForm1_Load(objectsender,EventArgse)
{
stringappPath=Application.StartupPath+"\\app.dll";
if(File.Exists(appPath))
{
StreamReadersr=newStreamReader(appPath);
intx=Convert.ToInt32(sr.ReadLine());
inty=Convert.ToInt32(sr.ReadLine());
intw=Convert.ToInt32(sr.ReadLine());
inth=Convert.ToInt32(sr.ReadLine());
intr=Convert.ToInt32(sr.ReadLine());
intg=Convert.ToInt32(sr.ReadLine());
intb=Convert.ToInt32(sr.ReadLine());
this.Location=newPoint(x,y);
this.Size=newSize(w,h);
txtText.ForeColor=Color.FromArgb(r,g,b);
sr.Close();
}
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 CWinform 笔记