在项目进行中,整理的一些常用控件的属性和方法。
Form窗体
ControlBox:窗体的标题栏中是否显示控制框。
MaximizeBox:窗体的标题栏中是否显示控制框。
AcceptButton:值是一个按钮的名称,当按Enter 键时就相当于单击了窗体上的该按钮。
CancelButton:值是一个按钮的名称,当按Enter 键时就相当于单击了窗体上的该按钮。
AutoScroll:窗体是否实现自动滚动。如果为true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。
KeyPreview:指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。值为true 时,窗体将接收按键事件;值为false 时,窗体不接收按键事件。
Refresh():刷新并重画窗体。
Activate():激活窗体并给予它焦点。
Activated:在窗体激活时发生。
Deactivate:在窗体失去焦点成为不活动窗体时发生。
Resize:改变窗体大小时发生。
Paint:重绘窗体时发生。
Closed:关闭窗体时发生。
多文档界面Mdi (Multiple Document Interface)
- 创建父窗体 设置IsMdiContainer属性为true
- 创建子窗体 代码如下:
Form frm = new Form();frm.MdiParent = this;frm.Show();
无窗体的窗体移动
//using System.Runtime.InteropServices;[DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);//常量public const int WM_SYSCOMMAND = 0x0112;//窗体移动public const int SC_MOVE = 0xF010;public const int HTCAPTION = 0x0002;//改变窗体大小public const int WMSZ_LEFT = 0xF001;public const int WMSZ_RIGHT = 0xF002;public const int WMSZ_TOP = 0xF003;public const int WMSZ_TOPLEFT = 0xF004;public const int WMSZ_TOPRIGHT = 0xF005;public const int WMSZ_BOTTOM = 0xF006;public const int WMSZ_BOTTOMLEFT = 0xF007;public const int WMSZ_BOTTOMRIGHT = 0xF008;public void MouseDownMove(object sender, MouseEventArgs e){ ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);}
使用方法:
public frmMain(){ InitializeComponent(); this.MouseDown += MouseDownMove; //this.ListBox.MouseDown += MouseDownMove;}
TextBox 文本框
MaxLength:文本框允许输入字符的最大长度。该属性值为0时,不限制输入的字符数。
SelectionLength:文本框中选定的字符数。只能在代码中使用,值为0 时,表示未选中任何字符。
SelectionStart:文本框中选定的文本起始点。只能在代码中使用,第一个字符的位置为0,第二个字符的位置为1,依此类推。
SelectedText:一个字符串,该字符串指示控件中当前选定的文本。只能在代码中使用。
Modified:自创建文本框控件或上次设置该控件的内容后,用户是否修改了该控件的内容。 值为true 表示修改过,值为false 表示没有修改过。
TextLength:控件中文本的长度。
AppendText(string):把一个字符串添加到文件框中文本的后面。
Clear():清除控件中所有文本。
Copy():将文本框中的当前选定内容复制到剪贴板上。
Cut():将文本框中的当前选定内容移动到剪贴板上。
Paste():用剪贴板的内容替换文本框中的当前选定内容。
Undo():撤销文本框中的上一个编辑操作。
ClearUndo():从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用程序的状态,可以使用此方法防止重复执行撤销操作。
Select(int, int):用来在文本框中设置选定文本。
SelectAll():用来选定文本框中的所有文本。
GotFocus :该事件在文本框接收焦点时发生。
LostFocus :该事件在文本框失去焦点时发生。
// 设置光标位置 到文本最后this.tbTestDialogue.Focus();this.tbTestDialogue.SelectionStart = this.tbTestDialogue.TextLength;//this.tbTestDialogue.SelectionLength = this.tbTestDialogue.TextLength;// 随文本滚动 this.tbTestDialogue.ScrollToCaret();
RichTextBox
一种既可以输入文本、又可以编辑文本的文字处理控件。
与TextBox 控件相比, RichTextBox控件的文字处理功能更加丰富,不仅可以设定文字的颜色、字体,还具有字符串检索功能。
另外, RichTextBox控件还可以打开、编辑和存储.rtf 格式文件、ASCII 文本格式文件及Unicode 编码格式的文件。
TextBox 控件所具有的属性,RichTextBox 控件基本上都具有,除此之外,该控件还具有一些其他属性。
RightMargin:右侧空白的大小,单位是像素。如希望右侧空白为50 像素,可使用如下语句: RichTextBox1.RightMargin=RichTextBox1.Width-50;
Rtf:获取或设置RichTextBox 控件中的文本,包括所有RTF 格式代码。
可以使用此属性将RTF 格式文本放到控件中以进行显示,或提取控件中的RTF 格式文本。此属性通常用于在RichTextBox 控件和其他RTF 源(如MicrosoftWord 或Windows 写字板)之间交换信息。
SelectedRtf:获取或设置控件中当前选定的RTF 格式的格式文本。
此属性使用户得以获取控件中的选定文本,包括RTF 格式代码。如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本,则给该属性所赋的文本值将替换掉选定文本。
SelectionColor:当前选定文本或插入点处的文本颜色。
SelectionFont:当前选定文本或插入点处的字体。
Redo():重做上次被撤销的操作。
Find(string):从RichTextBox 控件中查找指定的字符串。
SaveFile(string):将RichTextBox 中的信息保存到指定的文件中。
LoadFile(string):将文本文件、RTF 文件装入RichTextBox 控件。
Button 按钮
如果按钮具有焦点,就可以使用鼠标左键、Enter 键或空格键触发该按钮的Click 事件。
通过设置窗体的AcceptButton或CancelButton 属性,无论该按钮是否有焦点,都可以使用户通过按Enter 或Esc 键来触发按钮的Click事件。
一般不使用Button 控件的方法。
DialogResult:窗体是使用ShowDialog() 方法显示时,可以使用该属性设置当用户按了该按钮后,ShowDialog 方法的返回值(窗体将会被关闭)。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No 等。
ListBox 列表框
MultiColumn:是否支持多列。
ColumnWidth:多列ListBox 控件中列的宽度。
Sorted:列表项是否按字母顺序排序。
ItemsCount:列表项的数目。
FindString(string):查找列表项中以指定字符串开始的第一个项。
只是词语部分匹配,即要查找的字符串在列表项的开头,便认为是匹配的,如果要精确匹配,即只有在列表项与查找字符串完全一致时才认为匹配,可使用FindStringExact 方法,调用格式与功能与FindString 基本一致。
SetSelected(int, bool):某一项或取消对某一项的选择。(int指示索引位置)
Items.Insert(int, string): 在列表框中指定位置插入一个列表项。(int指示索引位置)
BeginUpdate()和EndUpdate():这两个方法的作用是保证使用Items.Add 方法向列表框中添加列表项时,不重绘列表框。
即在向列表框添加项之前,调用BeginUpdate 方法,以防止每次向列表框中添加项时都重新绘制ListBox 控件。
完成向列表框中添加项的任务后,再调用EndUpdate 方法使ListBox控件重新绘制。当向列表框中添加大量的列表项时,使用这种方法添加项可以防止在绘制ListBox 时的闪烁现象。
public void AddToMyListBox(){ listBox1.BeginUpdate(); for(intx=1;x<5000;x++) { listBox1.Items.Add("Item"+x.ToString()); } listBox1.EndUpdate(); }
ProgressBar进度条
Value:进度条的当前位置。
Step:决定每次调用PerformStep 方法时, Value 属性增加的幅度。
例如,如果要复制一组文件,则可将Step 属性的值设置为1,并将Maximum 属性的值设置为要复制的文件总数。在复制每个文件时,可以调用PerformStep() 方法按Step 属性的值增加进度栏。
PerformStep():按step 属性值来增加进度条的Value 属性值。
TrackBar跟踪条
Orientation:跟踪条是在水平方向还是在垂直方向。
LargeChange:当滑块长距离移动时对Value属性中加上或减去的值。
SmallChange:当滑块短距离移动时对Value 属性中加上或减去的值。
TickFrequency:绘制的刻度之间的增量。
TickStyle:如何显示跟踪条上的刻度线。
HScrollBar和VScrollBar
SmallChange 属性用于控制当鼠标单击滚动条两边的箭头时,滑块滚动的值,即Value 属性增加或减小的值。这两个控件主要用于在应用程序或控件中水平或垂直滚动,以方便在较长的列表中或大量信息中转移。
LargeChange 属性则控制当用鼠标直接单击滚动条时滑块滚动的值。
当用户按下PageUp 键或PageDown 键或者在滑块的任何一边单击滚动条轨迹时,Value 属性将按照LargeChange 属性中设置的值进行增加或减小。
对话框
//打开文件对话框private void openFileDialogBtn_Click(object sender, EventArgs e) { OpenFileDialog opd = new OpenFileDialog(); opd.InitialDirectory = @"D:\"; //对话框初始路径 opd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; opd.FilterIndex = 2; //默认就选择在文本文件(*.txt)过滤条件 opd.DereferenceLinks = false; //返回快捷方式的路径而不是快捷方式映射的文件的路径 opd.Title = "打开对话框"; opd.RestoreDirectory = true; //每次打开都回到InitialDirectory设置的初始路径 opd.ShowHelp = true; //对话框多了个"帮助"按钮 opd.ShowReadOnly = true; //对话框多了"只读打开"的复选框 opd.ReadOnlyChecked = true; //默认"只读打开"复选框勾选 // opd.HelpRequest +=new EventHandler(opd_HelpRequest); //注册帮助按钮的事件 // opd.FileOk += new CancelEventHandler(opd_FileOk); //效果等同于下面 if(opd.ShowDialog() == DialogResult.OK) { string filePath = opd.FileName; //文件路径 string fileName = opd.SafeFileName; //文件名 } } private void opd_FileOk(object sender, CancelEventArgs e) { //do something } ////// 帮助按钮单击事件 /// /// /// private void opd_HelpRequest(object sender, EventArgs e) { MessageBox.Show("这是帮助说明"); }
//保存文件对话框 private void saveFileDialogBtn_Click(object sender, EventArgs e){ SaveFileDialog sfd = new SaveFileDialog(); sfd.InitialDirectory = @"D:\"; //对话框初始路径 sfd.FileName = "config.txt"; //默认保存的文件名 sfd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; sfd.FilterIndex = 2; //默认就选择在文本文件(*.txt)过滤条件上 sfd.DefaultExt = ".xml"; //默认保存类型,如果过滤条件选"所有文件(*.*)"且保存名没写后缀,则补充上该默认值 sfd.DereferenceLinks = false; //返回快捷方式的路径而不是快捷方式映射的文件的路径 sfd.Title = "保存对话框"; sfd.RestoreDirectory = true; //每次打开都回到InitialDirectory设置的初始路径 sfd.ShowHelp = true; //对话框多了个"帮助"按钮 // sfd.HelpRequest += new EventHandler(sfd_HelpRequest); //注册帮助按钮的事件 // sfd.FileOk += new CancelEventHandler(sfd_FileOk); //效果等同于下面 if (sfd.ShowDialog() == DialogResult.OK) { string filePath = sfd.FileName; //文件路径 }}private void sfd_FileOk(object sender, CancelEventArgs e){ //do something }////// 帮助按钮单击事件 /// /// /// private void sfd_HelpRequest(object sender, EventArgs e){ MessageBox.Show("这是帮助说明");}
//打开文件夹对话框private void folderBrowserDialogBtn_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.RootFolder = Environment.SpecialFolder.Desktop; //设置默认根目录是桌面 fbd.Description = "请选择文件目录:"; //设置对话框说明 if (fbd.ShowDialog() == DialogResult.OK) { string filePath = fbd.SelectedPath; } }