【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)
第六周學(xué)習(xí)筆記—C#各類控件的輸入輸出
1.思維導(dǎo)圖
?
著重介紹幾個(gè)常用控件:
- 數(shù)據(jù)顯示控件
DataGridView控件
列設(shè)置
a)、列的寬度鋪滿這個(gè)控件
設(shè)置如下:把AutoSizeColumnsMode=Fill;//可以在屬性窗口中設(shè)置
b)、列名居中
代碼如下:
this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //設(shè)置表頭的格式(居中顯示)?
c)、禁止編輯某列
代碼如下:
?//禁止某一些列編輯
dataGridView1.ReadOnly = false;foreach (DataGridViewColumn c in dataGridView1.Columns){if (c.Index != 2)c.ReadOnly = true;}?
d)、禁止列點(diǎn)擊排序
代碼如下:
foreach (DataGridViewColumn c in dataGridView1.Columns)
{
???????c.SortMode = DataGridViewColumnSortMode.NotSortable;
?}
e)、設(shè)置列的字體
?this.dataGridView1.RowsDefaultCellStyle.Font = new Font("宋體", 10);
f)、設(shè)置列寬
this.dataGridView1.Columns[1].Width = 80; this.dataGridView1.Columns[2].Width = 60;
?g)、設(shè)置列顯示模式
需要將第一列的單元格的內(nèi)容全部顯示出來(lái),代碼如下:
this.dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells ;
- 文本編輯控件
TextBox控件
1、常用方法:?
(1)AppendText方法:把一個(gè)字符串添加到文件框中文本的后面,調(diào)用的一般格式如下:?
文本框?qū)ο?AppendText(str)?參數(shù) str是要添加的字符串。?
(2)Clear方法:從文本框控件中清除所有文本。調(diào)用的一般格式如下:?
文本框?qū)ο?Clear()該方法無(wú)參數(shù)。?
(3)Focus方法:是為文本框設(shè)置焦點(diǎn)。如果焦點(diǎn)設(shè)置成功,值為 true,否則為false。調(diào)用的一般格式如下:?
文本框?qū)ο?Focus()該方法無(wú)參數(shù)。
(4)Copy方法:將文本框中的當(dāng)前選定內(nèi)容復(fù)制到剪貼板上。調(diào)用的一般格式如下:?
文本框?qū)ο?Copy()該方法無(wú)參數(shù)。?
(5)Cut方法:將文本框中的當(dāng)前選定內(nèi)容移動(dòng)到剪貼板上。調(diào)用的一般格式如下:?
文本框?qū)ο?Cut()該方法無(wú)參數(shù)。?
(6)Paste方法:用剪貼板的內(nèi)容替換文本框中的當(dāng)前選定內(nèi)容。調(diào)用的一般格式如下:?
文本框?qū)ο?Paste()該方法無(wú)參數(shù)。?
(7)Undo 方法:撤銷文本框中的上一個(gè)編輯操作。調(diào)用的一般格式如下:?
文本框?qū)ο?Undo()該方法無(wú)參數(shù)。?
(8)ClearUndo方法:從該文本框的撤銷緩沖區(qū)中清除關(guān)于最近操作的信息,根據(jù)應(yīng)用?程序的狀態(tài),可以使用此方法防止重復(fù)執(zhí)行撤銷操作。調(diào)用的一般格式如下:?
文本框?qū)ο?ClearUndo()該方法無(wú)參數(shù)。?
(9)Select方法:用來(lái)在文本框中設(shè)置選定文本。調(diào)用的一般格式如下:?
文本框?qū)ο?Select(start,length)?
該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)start用來(lái)設(shè)定文本框中當(dāng)前選定文本的第一個(gè)字符的位?置,第二個(gè)參數(shù)length用來(lái)設(shè)定要選擇的字符數(shù)。?
(10)SelectAll方法:用來(lái)選定文本框中的所有文本。調(diào)用的一般格式如下:?
文本框?qū)ο?SelectAll()該方法無(wú)參數(shù)。?
3、常用事件:?
(1)GotFocus事件:該事件在文本框接收焦點(diǎn)時(shí)發(fā)生。?
(2)LostFocus事件:該事件在文本框失去焦點(diǎn)時(shí)發(fā)生。?
(3)TextChanged事件:該事件在Text屬性值更改時(shí)發(fā)生。無(wú)論是通過(guò)編程修改還是用戶交互更改文本框
的?Text屬性值,均會(huì)引發(fā)此事件。
- RichTextBox控件
- 輸入:RichTextBox1.Text?=?""
- 輸出:ev.Graphics.DrawString (richTextBox1.Text);
- MaskedTextBOX控件
- 輸入:MaskedTextBox.text= 輸出:...=MaskedTextBox.text
- 數(shù)據(jù)綁定和數(shù)據(jù)定位控件
- BindingSource組件
- 沒(méi)有運(yùn)行時(shí)界面,無(wú)法在用戶界面上看到該控件。BindingSource控件通過(guò)Current屬性訪問(wèn)當(dāng)前記錄,通過(guò)List屬性訪問(wèn)整個(gè)數(shù)據(jù)表。
- BindingNavigator控件
- 輸入:this.txtName.DataBindings.Add("Text",bs,"Name");
- 輸出:正常通過(guò)DataGridView顯示
- BindingSource組件
- 音頻控件
- SoundPlayer控件
- 用戶幫助控件
- HelpProvider控件
- 輸入:HP = new HelpProvider();string Source = "Help.txt";
輸出:HP.HelpNamespace = Source;HP.SetShowHelp(this, true);
?
- ToolTip組件
- this.toolTip1.SetToolTip(this.textBox1, "請(qǐng)輸入學(xué)生姓名。");
- 輸入:HP = new HelpProvider();string Source = "Help.txt";
輸出:HP.HelpNamespace = Source;HP.SetShowHelp(this, true);
- HelpProvider控件
- 命令控件
- Button控件
- LinkLabel控件
- 菜單控件
- MenuStrip控件
- ContextMenuStrip控件
- 對(duì)話框控件
- ColorDialog控件
- OpenFileDialog控件
- PrintDialog控件
- 數(shù)據(jù)的設(shè)置控件
- DateTimePicker控件
- MonthCalendar控件
- 值的設(shè)置控件
- CheckBox控件
- ChecekListBox控件
- RadioButton控件
- TrackBar控件
- 圖形存儲(chǔ)控件
- 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);
-
- PictureBox控件
- 從列表中選擇控件
- CheckedListBox控件
- ComboBox控件
-
?輸出:
控件名.DataSource = 數(shù)據(jù)表; 控件名.DisplayMember = "列的名稱"; 數(shù)據(jù)表.ValueMember = "列的名稱";?
select 我下拉列表菜單標(biāo)簽
Option為下拉列表數(shù)據(jù)標(biāo)簽
Value 為Option的數(shù)據(jù)值(用于數(shù)據(jù)的傳值)select 元素可創(chuàng)建單選或多選菜單。當(dāng)提交表單時(shí),會(huì)提交選定的項(xiàng)目,或者收集用逗號(hào)分隔的多個(gè)選項(xiàng),將其合成一個(gè)單獨(dú)的參數(shù)列表,并且在將 表單數(shù)據(jù)提交給服務(wù)器時(shí)包括 name 屬性.
其中最要的是獲取給select下拉列表元素綁定一個(gè)change()事件,就是當(dāng)這個(gè)元素的值發(fā)生改變的時(shí)候會(huì)觸發(fā)此方法,
然后還有一個(gè)就是獲取當(dāng)前選中的option索引: var index ?= selectObj.selectedIndex;
var value ?= selectObj.options[index].value;
var text ? ?= selectObj.options[index].text;
其他知識(shí)點(diǎn):
Location對(duì)象:
Location對(duì)象是Window對(duì)象的一個(gè)部分,可通過(guò)window.location屬性來(lái)訪問(wèn)。
location.reload()刷新當(dāng)前文檔
location.href ?設(shè)置或返回完整的 URL。
top:?
該變更永遠(yuǎn)指分割窗口最高層次的瀏覽器窗口。如果計(jì)劃從分割窗口的最高層次開始執(zhí)行命令,就可以用top變量。?
parent:?
該變量指的是包含當(dāng)前分割窗口的父窗口。如果在一個(gè)窗口內(nèi)有分割窗口,而在其中一個(gè)分割窗口中又包含著分割窗口,則第2層的分割窗口可以用parent變量引用包含它的父分割窗口。?
- DomainUpDown控件
- ListBox控件
- ListView控件
- NumericUpDown控件
- TreeView控件
- 網(wǎng)頁(yè)顯示控件
- WebBrowser控件
- 信息顯示控件
- Label控件
- LinkLabel控件
- StatusStrip控件
- ProgressBar控件
?
DataGridView控件、DateTimePicker控件、PhotoBox控件、textbox控件,如下例子:
DataGridView控件
?
SqlConnection sqlConnection = new SqlConnection(); //聲明并實(shí)例化SQL連接;sqlConnection.ConnectionString ="Server=(local);Database=ZXYY;Integrated Security=sspi"; //在字符串變量中,描述連接字符串所需的服務(wù)器地址、數(shù)據(jù)庫(kù)名稱、集成安全性(即是否使用Windows驗(yàn)證);SqlCommand sqlCommand = new SqlCommand(); //聲明并實(shí)例化SQL命令;sqlCommand.Connection = sqlConnection; //將SQL命令的連接屬性指向SQL連接;sqlCommand.CommandText = "SELECT * FROM 科室;"; //指定SQL命令的命令文本;該命令查詢所有課程,以用作數(shù)據(jù)網(wǎng)格視圖數(shù)據(jù)源;SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //聲明并實(shí)例化SQL數(shù)據(jù)適配器;sqlDataAdapter.SelectCommand = sqlCommand; //將SQL數(shù)據(jù)適配器的查詢命令屬性指向SQL命令;sqlDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; //設(shè)置SQL數(shù)據(jù)適配器在缺少架構(gòu)時(shí)的動(dòng)作為追加主鍵,從而獲取數(shù)據(jù)庫(kù)中定義的主鍵;this.ksTable = new DataTable(); //實(shí)例化本窗體的科室表,用于保存所有科室,以用作數(shù)據(jù)網(wǎng)格視圖數(shù)據(jù)源;sqlConnection.Open(); //打開SQL連接;sqlDataAdapter.Fill(this.ksTable); //SQL數(shù)據(jù)適配器讀取數(shù)據(jù),并填充課程數(shù)據(jù)表;sqlConnection.Close(); //關(guān)閉SQL連接;this.ksViewByName = new DataView(); this.ksViewByName.Table = this.ksTable; this.ksViewByName.Sort = "科室編號(hào) ASC"; //設(shè)置課程數(shù)據(jù)視圖的排序條件,即查詢所覆蓋的列;this.dgv_ks.Columns.Clear(); //數(shù)據(jù)網(wǎng)格視圖的列集合清空;this.dgv_ks.DataSource = this.ksTable;this.dgv_ks.Columns[this.dgv_ks.Columns.Count - 1].AutoSizeMode = //數(shù)據(jù)網(wǎng)格視圖的最后一列的自動(dòng)調(diào)整列寬模式設(shè)為填充(至數(shù)據(jù)網(wǎng)格視圖右側(cè)邊緣);DataGridViewAutoSizeColumnMode.Fill;?
頁(yè)面截圖,運(yùn)行效果:
DateTimePicker控件、PhotoBox控件、textbox控件使用如圖:
?
OpenFileDialog openPhotoDialog = new OpenFileDialog() //聲明并實(shí)例化打開文件對(duì)話框;{ //在初始化器中,設(shè)置打開文件對(duì)話框的各屬性;Title = "打開照片文件(位圖格式)" //對(duì)話框標(biāo)題;, Filter = "BMP Files (*.bmp)|*.bmp" //文件格式過(guò)濾器;, InitialDirectory = @"C:\" //初始目錄;};if (openPhotoDialog.ShowDialog() == DialogResult.OK) //顯示打開文件對(duì)話框,若打開文件對(duì)話框的對(duì)話結(jié)果為點(diǎn)擊OK鍵;{this.PhotoFileName = openPhotoDialog.FileName; //將對(duì)話框獲得的文件名,存入本窗體的私有字段中;this.ptb_Photo.Image = Image.FromFile(this.PhotoFileName); //調(diào)用圖像的靜態(tài)方法FromFile從指定文件中讀取圖像,并賦予圖像框;}?
SqlConnection sqlConnection = new SqlConnection(); //聲明并實(shí)例化SQL連接;sqlConnection.ConnectionString ="Server=(local);Database=EduBaseDemo;Integrated Security=sspi"; //在字符串變量中,描述連接字符串所需的服務(wù)器地址、數(shù)據(jù)庫(kù)名稱、集成安全性(即是否使用Windows驗(yàn)證);SqlCommand sqlCommand = new SqlCommand(); //聲明并實(shí)例化SQL命令;SqlCommand sqlCommand2 = new SqlCommand(); //聲明并實(shí)例化SQL命令;sqlCommand.Connection = sqlConnection; //將SQL命令的連接屬性指向SQL連接;sqlCommand2.Connection = sqlConnection; //將SQL命令的連接屬性指向SQL連接;sqlCommand.CommandText = "SELECT * FROM tb_Class;"; //指定SQL命令的命令文本;該命令查詢所有班級(jí),以用作下拉框數(shù)據(jù)源;sqlCommand2.CommandText = "SELECT * FROM tb_Student WHERE No=@No;"; //指定SQL命令的命令文本;該命令查詢指定學(xué)生;sqlCommand2.Parameters.AddWithValue("@No", "3120707001"); //向SQL命令的參數(shù)集合添加參數(shù)的名稱、值;SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); //聲明并實(shí)例化SQL數(shù)據(jù)適配器,同時(shí)借助構(gòu)造函數(shù),將其SelectCommand屬性設(shè)為先前創(chuàng)建的SQL命令;sqlDataAdapter.SelectCommand = sqlCommand; //將SQL數(shù)據(jù)適配器的查詢命令屬性指向SQL命令;DataTable classTable = new DataTable(); //聲明并實(shí)例化數(shù)據(jù)表,用于保存所有班級(jí),以用作下拉框數(shù)據(jù)源;sqlConnection.Open(); //打開SQL連接;sqlDataAdapter.Fill(classTable); //SQL數(shù)據(jù)適配器讀取數(shù)據(jù),并填充班級(jí)數(shù)據(jù)表;this.cmb_Class.DataSource = classTable; //將班級(jí)下拉框的數(shù)據(jù)源設(shè)為班級(jí)數(shù)據(jù)表;this.cmb_Class.DisplayMember = "Name"; //將班級(jí)下拉框的顯示成員設(shè)為班級(jí)數(shù)據(jù)表的名稱列;this.cmb_Class.ValueMember = "No"; //將班級(jí)下拉框的值成員設(shè)為班級(jí)數(shù)據(jù)表的編號(hào)列;SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader(); //調(diào)用SQL命令的方法ExecuteReader來(lái)執(zhí)行命令,并獲取數(shù)據(jù)閱讀器;if (sqlDataReader.Read()) //若數(shù)據(jù)閱讀器成功讀取到下一條記錄(首次查詢則表示第一條記錄);{this.txb_No.Text = sqlDataReader["No"].ToString(); //在數(shù)據(jù)閱讀器的索引器中指定列名,從而訪問(wèn)當(dāng)前記錄的指定列的值,并賦予相應(yīng)控件;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();?
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信用卡被拒原因说我查征信太多次
- 下一篇: c# char unsigned_dll