【转】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控件
      • 1

        2

        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();                   

复制代码

 

  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库

(给DotNet加星标,提升.Net技能)转自:Ron.liangcnblogs.com/viter/p/10243577.html前言在 .NET Core 2.2中Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从NuGet仓库单独应用 EFCore 包…

【转】ADO.Net之SqlConnection、 Sqlcommand的应用学习心得(思维导图,知识解析,案例分析)

ADO.Net之SqlConnection、 Sqlcommand的应用 一、思维导图: ADO.NET与SQL连接: 二、知识点介绍: SqlConnection和Sqlcommand都是组成数据提供程序的类。 SqlConnection使用它来建立和数据库的连接,Sqlcommand使用它执行SQL命令…

professional中文_Microsoft office 2007 简体中文版

点击蓝字 关注小白软件名称:Microsoft office 2007软件语言:简体中文软件大小:0.67GB安装环境:Win10/8/7下载链接:https://pan.baidu.com/s/1DybozQ-rn-t2s2EC7FrvFw 提取码:zoa0安装步骤1、解压安装包&…

【转】设计模式 ( 十七) 状态模式State(对象行为型)

设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。…

【OSG学习】准备开发调试环境

环境 本人当前使用的环境是VS2013 Ultimate Update5 WIN10。 OSG编译安装 下载编译OSG源码不要克隆github上的源码,而是下载稳定版本的OSG源码进行编译。因为github上的源码处于开发阶段,我们应该优先选择稳定版本,我使用的是OpenSceneGr…

【Qt开发经验】Qt信号槽连接不成功问题原因汇总

以下几种情况会导致信号槽连接不成功,下面分别描述。 1. 拥有信号槽的类,必须继承QObject,声明Q_OBJECT宏。 Qt帮助手册里搜索 “Signals & Slots”,可以看到以下说明: 想要使用信号槽,必须继承QOb…

【转】.Net中的异步编程总结

一直以来很想梳理下我在开发过程中使用异步编程的心得和体会,但是由于我是APM异步编程模式的死忠,当TAP模式和TPL模式出现的时候我并未真正的去接纳这两种模式,所以导致我一直没有花太多心思去整理这两部分异步编程模型。今天在CodeProject上…

学习swing鼠标点击事件心得体会_西门子COMOS软件开发定制学习8-查询列表间的数据交互...

​本篇在西门子COMOS软件开发定制学习6-管理界面定制基础上定制,简单介绍两个查询列表之间的数据交互。实现效果:在左侧列表中选择某一设备,右侧列表自动根据所选设备,显示该设备相关的设计图纸(如PID图纸或电气图纸等)&#xff1…

【转】异步编程:.NET 4.5 基于任务的异步编程模型(TAP)

最近我为大家陆续介绍了“IAsyncResult异步编程模型 (APM)”和“基于事件的异步编程模式(EAP)”两种异步编程模型。在.NET4.0 中Microsoft又为我们引入了新的异步编程模型“基于任务的异步编程模型(TAP)”,并且推荐我们在开发新的多线程应用程序中首选TAP&#xff0…

python实验题_python实验二

安徽工程大学 Python 程序设计 实验报告 班级 物流191 姓名 王凡 学号 3190505102 成绩____________ 日期20200322 指导教师 修宇 【实验名称】 实验二 顺序结构程序设计 【思考题】 (注意不要漏答) 1、影响题1和题3计算准确性的因素有哪些?如…

解决:VS中进行Qt开发,编译时报错:打不开QWidgets.h等文件的问题

1. 先检查是否通过Qt VS Tools添加了Qt路径和配置了正确的Qt版本,这一步基本上都没问题。 2. 再检查此项目是否配置了正确的Qt版本,右键项目,选择Qt Project Settings,选择你需要的Qt版本即可,不可以为空。 3. 完成上面…

【转】1:C#的三种异步的详细介绍及实现

一、介绍异步的前世今生: 异步编程模型 (APM,Asynchronous Programming Model) 模式(也称 IAsyncResult 模式),在此模式中异步操作需要 Begin 和 End 方法(比如用于异步写入操作的 BeginWrite 和 EndWrite…

elasticsearch date_Elasticsearch在日志分析领域应用和运维实践

主要讲述了:基于ELK Kafka 的日志分析系统Elasticsearch 优化经验Elasticsearch 运维实践ElasticSearch介绍分布式实时分析搜索引擎,优点包括:查询近实时内存消耗小,搜索速度快可扩展性强高可用数据结构FST(Finite State Transdu…

【转】2:C#TPL探秘

理论: 1、 只要方法是 Task类型的返回值,都可以用 await 来等待调用获取返回值。 2、 如果一个返回 Task类型的方法被标记了 async,那么只要方法内部直接 return T 这个 类型的实例就可以。 3、 一个返回 Task类型的方法没有被标记了 asyn…

Qt添加翻译文件无效或部分无效

原因: QTranslator::load路径错误qApp->installTranslator调用时机应该在所有界面起来之前。命名空间宏导致的问题。如果一个类有命名空间宏,则宏不会转换为命名空间,导致ts文件内的上下文不包含命名空间。上下文对不上导致部分窗口翻译失…

linux shell脚本攻略第3版_「技术干货」师傅说不会写shell脚本的网安不是一个好黑客,实战...

shell脚本?在说什么是shell脚本之前,先说说什么是shell。shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令…

【转】3:C#异步WaitAll的使用

编写界面如图: private async void button1_Click(object sender, EventArgs e){#region 单个执行的异步,效率慢HttpClient wc new HttpClient();string s1 await wc.GetStringAsync(textBox1.Text);label1.Text s1.Length.ToString();string s2 awa…

Qt实现QTextEdit背景透明

QTextEdit为什么要拿出来单独说,因为它继承自QAbstractScrollArea,一般的设置无效。滚动区域ScrollArea内部有一个widget,需要同时设置ScrollArea和viewport两个窗口才能实现透明。代码如下: m_text_editor->setWindowFlags(Q…

python断点调试_「Python调试器」,快速定位各种疑难杂症!!!

在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲的重点。今天主要是想给大家介绍一下 「 Pyth…

【转】C# 温故而知新:Stream篇(—)

目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和其子类的类图 本章总结 什么是Stream? MSDN 中的解释太简洁了: 提供字节序列的一般视图 (我可不想这么理解…