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

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM