博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 常用控件的一些属性及方法
阅读量:5341 次
发布时间:2019-06-15

本文共 7976 字,大约阅读时间需要 26 分钟。

在项目进行中,整理的一些常用控件的属性和方法。

 

Form窗体

ControlBox:窗体的标题栏中是否显示控制框。

MaximizeBox:窗体的标题栏中是否显示控制框。

AcceptButton:值是一个按钮的名称,当按Enter 键时就相当于单击了窗体上的该按钮。

CancelButton:值是一个按钮的名称,当按Enter 键时就相当于单击了窗体上的该按钮。

AutoScroll:窗体是否实现自动滚动。如果为true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。

KeyPreview:指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。值为true 时,窗体将接收按键事件;值为false 时,窗体不接收按键事件。

Refresh():刷新并重画窗体。

Activate():激活窗体并给予它焦点。

Activated:在窗体激活时发生。

Deactivate:在窗体失去焦点成为不活动窗体时发生。

Resize:改变窗体大小时发生。

Paint:重绘窗体时发生。

Closed:关闭窗体时发生。

 

多文档界面Mdi (Multiple Document Interface) 

  1. 创建父窗体 设置IsMdiContainer属性为true
  2. 创建子窗体 代码如下:
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;                  }  }

 

转载于:https://www.cnblogs.com/luciakally/p/4644511.html

你可能感兴趣的文章
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
pycharm激活地址
查看>>
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>