• C# 常用控件的一些属性及方法


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

    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  
    }     
    
    /// <summary> 
    /// 帮助按钮单击事件 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    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 } /// <summary> /// 帮助按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> 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;    
                  }  
    }  
  • 相关阅读:
    度度熊学队列
    Wannafly挑战赛21
    C. Vasya And The Mushrooms
    D. Vasya And The Matrix
    B. Segment Occurrences
    Codeforces Round #501 (Div. 3)(ABCDE)
    2018 Multi-University Training Contest 4
    1068 : RMQ-ST算法
    Nordic Collegiate Programming Contest 2015​
    Hack It
  • 原文地址:https://www.cnblogs.com/luciakally/p/4644511.html
Copyright © 2020-2023  润新知