C#各类控件的输入输出(思维导图、知识点分析、案例解析)

第六周学习笔记C#各类控件的输入输出

1.思维导图

 

  1. 知识点汇总:

着重介绍几个常用控件:

  • 数据显示控件

DataGridView控件

列设置

a)、列的宽度铺满这个控件

  设置如下:把AutoSizeColumnsMode=Fill;//可以在属性窗口中设置

b)、列名居中

代码如下:

this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //设置表头的格式(居中显示)

 

c)、禁止编辑某列

代码如下: 

 //禁止某一些列编辑

 dataGridView1.ReadOnly = false;

 foreach (DataGridViewColumn c in dataGridView1.Columns)

 {

     if (c.Index != 2)

        c.ReadOnly = true;

 }

 

d)、禁止列点击排序

代码如下:

foreach (DataGridViewColumn c in dataGridView1.Columns)

{

       c.SortMode = DataGridViewColumnSortMode.NotSortable;

 }

e)、设置列的字体

 this.dataGridView1.RowsDefaultCellStyle.Font = new Font("宋体", 10);

f)、设置列宽

this.dataGridView1.Columns[1].Width = 80; this.dataGridView1.Columns[2].Width = 60;

 g)、设置列显示模式

需要将第一列的单元格的内容全部显示出来,代码如下:

this.dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells ;

  • 文本编辑控件

TextBox控件
1、常用方法: 
1)AppendText方法:把一个字符串添加到文件框中文本的后面,调用的一般格式如下: 

文本框对象.AppendText(str) 参数 str是要添加的字符串。 
2)Clear方法:从文本框控件中清除所有文本。调用的一般格式如下: 
文本框对象.Clear()该方法无参数。 
3)Focus方法:是为文本框设置焦点。如果焦点设置成功,值为 true,否则为false。调用的一般格式如下: 
文本框对象.Focus()该方法无参数。

4)Copy方法:将文本框中的当前选定内容复制到剪贴板上。调用的一般格式如下: 
文本框对象.Copy()该方法无参数。 
5)Cut方法:将文本框中的当前选定内容移动到剪贴板上。调用的一般格式如下: 
文本框对象.Cut()该方法无参数。 
6)Paste方法:用剪贴板的内容替换文本框中的当前选定内容。调用的一般格式如下: 
文本框对象.Paste()该方法无参数。 
7)Undo 方法:撤销文本框中的上一个编辑操作。调用的一般格式如下: 
文本框对象.Undo()该方法无参数。 
8)ClearUndo方法:从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用 程序的状态,可以使用此方法防止重复执行撤销操作。调用的一般格式如下: 
文本框对象.ClearUndo()该方法无参数。 
9)Select方法:用来在文本框中设置选定文本。调用的一般格式如下: 
文本框对象.Select(start,length) 
该方法有两个参数,第一个参数start用来设定文本框中当前选定文本的第一个字符的位 置,第二个参数length用来设定要选择的字符数。 
10)SelectAll方法:用来选定文本框中的所有文本。调用的一般格式如下: 
文本框对象.SelectAll()该方法无参数。 
3、常用事件: 
1)GotFocus事件:该事件在文本框接收焦点时发生。 
2)LostFocus事件:该事件在文本框失去焦点时发生。 
3)TextChanged事件:该事件在Text属性值更改时发生。无论是通过编程修改还是用户交互更改文本框
Text属性值,均会引发此事件。

  • RichTextBox控件
    • 输入:RichTextBox1.Text = ""
    • 输出:ev.Graphics.DrawString (richTextBox1.Text);
    • MaskedTextBOX控件
      • 输入:MaskedTextBox.text=
        输出:...=MaskedTextBox.text
  • 数据绑定和数据定位控件
    • BindingSource组件
      • 没有运行时界面,无法在用户界面上看到该控件。BindingSource控件通过Current属性访问当前记录,通过List属性访问整个数据表。
      • BindingNavigator控件
        • 输入:this.txtName.DataBindings.Add("Text",bs,"Name");
        • 输出:正常通过DataGridView显示
  • 音频控件
    • SoundPlayer控件
  • 用户帮助控件
    • HelpProvider控件
      • 输入:HP = new HelpProvider();string Source = "Help.txt";
        输出:HP.HelpNamespace = Source;HP.SetShowHelp(this, true);

         

      • ToolTip组件
        • this.toolTip1.SetToolTip(this.textBox1, "请输入学生姓名。");
  • 命令控件
    • Button控件
    • LinkLabel控件
  • 菜单控件
    • MenuStrip控件
    • ContextMenuStrip控件
  • 对话框控件
    • ColorDialog控件
    • OpenFileDialog控件
    • PrintDialog控件
  • 数据的设置控件
    • DateTimePicker控件
    • MonthCalendar控件
  • 值的设置控件
    • CheckBox控件
    • ChecekListBox控件
    • RadioButton控件
    • TrackBar控件
  • 图形存储控件
    • ImageList控件
  • 图形显示控件
    • PictureBox控件
      • OpenFileDialog openPhotoDialog = new OpenFileDialog()Title = "打开照片文件(位图格式)",Filter = "BMP Files (*.bmp)|*.bmp",InitialDirectory = @"C:\"
        this.PhotoFileName = openPhotoDialog.FileName;this.ptb_Photo.Image = Image.FromFile(this.PhotoFileName);
        

          

  • 从列表中选择控件
    • CheckedListBox控件
    • ComboBox控件
    •  输出:

      控件名.DataSource = 数据表; 
      控件名.DisplayMember = "列的名称"; 
      数据表.ValueMember = "列的名称";

       

      select 我下拉列表菜单标签
      Option为下拉列表数据标签
      Value 为Option的数据值(用于数据的传值)

      select 元素可创建单选或多选菜单。当提交表单时,会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 表单数据提交给服务器时包括 name 属性.

      其中最要的是获取给select下拉列表元素绑定一个change()事件,就是当这个元素的值发生改变的时候会触发此方法,

      然后还有一个就是获取当前选中的option索引: var index  = selectObj.selectedIndex;

      var value  = selectObj.options[index].value;

      var text    = selectObj.options[index].text;

      其他知识点:

      Location对象:

      Location对象是Window对象的一个部分,可通过window.location属性来访问。

      location.reload()刷新当前文档

      location.href  设置或返回完整的 URL。

      top: 

      该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。 

      parent: 

      该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的父分割窗口。

       

    • DomainUpDown控件
    • ListBox控件
    • ListView控件
    • NumericUpDown控件
    • TreeView控件
  • 网页显示控件
    • WebBrowser控件
  • 信息显示控件
    • Label控件
    • LinkLabel控件
    • StatusStrip控件
    • ProgressBar控件

 

DataGridView控件、DateTimePicker控件、PhotoBox控件、textbox控件,如下例子:

DataGridView控件

 

 SqlConnection sqlConnection = new SqlConnection();                                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=ZXYY;Integrated Security=sspi";                             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                                       //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                                          //将SQL命令的连接属性指向SQL连接;
            sqlCommand.CommandText = "SELECT * FROM 科室;";                                            //指定SQL命令的命令文本;该命令查询所有课程,以用作数据网格视图数据源;
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //声明并实例化SQL数据适配器;
            sqlDataAdapter.SelectCommand = sqlCommand;                                                      //将SQL数据适配器的查询命令属性指向SQL命令;
            sqlDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;                            //设置SQL数据适配器在缺少架构时的动作为追加主键,从而获取数据库中定义的主键;
            this.ksTable = new DataTable();                                                             //实例化本窗体的科室表,用于保存所有科室,以用作数据网格视图数据源;
            sqlConnection.Open();                                                                           //打开SQL连接;
            sqlDataAdapter.Fill(this.ksTable);                                                          //SQL数据适配器读取数据,并填充课程数据表;
            sqlConnection.Close();                                                                          //关闭SQL连接;
            
            this.ksViewByName = new DataView();                                                        
            this.ksViewByName.Table = this.ksTable;                                               
            this.ksViewByName.Sort = "科室编号 ASC";                                              //设置课程数据视图的排序条件,即查询所覆盖的列;
            this.dgv_ks.Columns.Clear();                                                                //数据网格视图的列集合清空;
            this.dgv_ks.DataSource = this.ksTable;
            this.dgv_ks.Columns[this.dgv_ks.Columns.Count - 1].AutoSizeMode =                       //数据网格视图的最后一列的自动调整列宽模式设为填充(至数据网格视图右侧边缘);
                DataGridViewAutoSizeColumnMode.Fill;

 

页面截图,运行效果:

DateTimePicker控件、PhotoBox控件、textbox控件使用如图:

 

OpenFileDialog openPhotoDialog = new OpenFileDialog()                                           //声明并实例化打开文件对话框;
                {                                                                                           //在初始化器中,设置打开文件对话框的各属性;
                    Title = "打开照片文件(位图格式)"                                                      //对话框标题;
                    , Filter = "BMP Files (*.bmp)|*.bmp"                                                    //文件格式过滤器;
                    , InitialDirectory = @"C:\"                                                             //初始目录;
                };
            if (openPhotoDialog.ShowDialog() == DialogResult.OK)                                            //显示打开文件对话框,若打开文件对话框的对话结果为点击OK键;
            {
                this.PhotoFileName = openPhotoDialog.FileName;                                              //将对话框获得的文件名,存入本窗体的私有字段中;
                this.ptb_Photo.Image = Image.FromFile(this.PhotoFileName);                                  //调用图像的静态方法FromFile从指定文件中读取图像,并赋予图像框;
            }

 

SqlConnection sqlConnection = new SqlConnection();                                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=EduBaseDemo;Integrated Security=sspi";                             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                                       //声明并实例化SQL命令;
            SqlCommand sqlCommand2 = new SqlCommand();                                                      //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                                          //将SQL命令的连接属性指向SQL连接;
            sqlCommand2.Connection = sqlConnection;                                                         //将SQL命令的连接属性指向SQL连接;
            sqlCommand.CommandText = "SELECT * FROM tb_Class;";                                             //指定SQL命令的命令文本;该命令查询所有班级,以用作下拉框数据源;
            sqlCommand2.CommandText = "SELECT * FROM tb_Student WHERE No=@No;";                             //指定SQL命令的命令文本;该命令查询指定学生;
            sqlCommand2.Parameters.AddWithValue("@No", "3120707001");                                       //向SQL命令的参数集合添加参数的名称、值;
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;
            sqlDataAdapter.SelectCommand = sqlCommand;                                                      //将SQL数据适配器的查询命令属性指向SQL命令;
            DataTable classTable = new DataTable();                                                         //声明并实例化数据表,用于保存所有班级,以用作下拉框数据源;
            sqlConnection.Open();                                                                           //打开SQL连接;
            sqlDataAdapter.Fill(classTable);                                                                //SQL数据适配器读取数据,并填充班级数据表;
            this.cmb_Class.DataSource = classTable;                                                         //将班级下拉框的数据源设为班级数据表;
            this.cmb_Class.DisplayMember = "Name";                                                          //将班级下拉框的显示成员设为班级数据表的名称列;
            this.cmb_Class.ValueMember = "No";                                                              //将班级下拉框的值成员设为班级数据表的编号列;
            SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader();                                      //调用SQL命令的方法ExecuteReader来执行命令,并获取数据阅读器;
            if (sqlDataReader.Read())                                                                       //若数据阅读器成功读取到下一条记录(首次查询则表示第一条记录);
            {
                this.txb_No.Text = sqlDataReader["No"].ToString();                                          //在数据阅读器的索引器中指定列名,从而访问当前记录的指定列的值,并赋予相应控件;
                this.txb_Name.Text = sqlDataReader["Name"].ToString();
                this.rdb_Male.Checked = (bool)sqlDataReader["Gender"];
                this.rdb_Female.Checked = !(bool)sqlDataReader["Gender"];
                this.dtp_BirthDate.Value = (DateTime)sqlDataReader["BirthDate"];
                this.cmb_Class.SelectedValue = (int)sqlDataReader["ClassNo"];
                this.txb_Speciality.Text = sqlDataReader["Speciality"].ToString();
            }
            sqlDataReader.Close();                   

 

  

 

转载于:https://www.cnblogs.com/nicestlala/p/9785560.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值