【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)
第六周學習筆記—C#各類控件的輸入輸出
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顯示
- BindingSource組件
- 音頻控件
- SoundPlayer控件
- 用戶幫助控件
- HelpProvider控件
- 輸入:HP = new HelpProvider();string Source = "Help.txt";
輸出:HP.HelpNamespace = Source;HP.SetShowHelp(this, true);
?
- ToolTip組件
- this.toolTip1.SetToolTip(this.textBox1, "請輸入學生姓名。");
- 輸入:HP = new HelpProvider();string Source = "Help.txt";
輸出:HP.HelpNamespace = Source;HP.SetShowHelp(this, true);
- HelpProvider控件
- 命令控件
- 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);
-
- PictureBox控件
- 從列表中選擇控件
- 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();?
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡被拒原因说我查征信太多次
- 下一篇: 双语直播火了!供应商称新东方带货没坑位费