學(xué)習(xí)Winform分組類控件(Panel、groupBox、TabControl)
分組類控件主要包括容器控件(Panel),分組框控件(groupBox)和選項(xiàng)卡控件(TabControl)等控件。
一、Panel控件
Panel控件是由System.Windows.Forms.Panel類提供的,主要作用就是將其他控件組合一起放在一個(gè)面板上,使這些控件更容易管理。當(dāng)Panel控件面板上要顯示過多的控件時(shí),可設(shè)置AutoScroll屬性為true。
Panel控件在默認(rèn)情況下不顯示邊框,如把BorderStyle屬性設(shè)置為不是none的其他值,就可以使用面板可視化地組合相關(guān)的控件。
實(shí)例:演示Panel控件的BorderStyle屬性和AutoScroll屬性
(1)在窗體中添加一個(gè)Panel控件,設(shè)置AutoScroll屬性為true,設(shè)置BorderStyle屬性為Fixed3D,添加一個(gè)Button控件和一個(gè)ListBox控件,設(shè)置Button控件的Text屬性為“增加”。
(2)雙擊Button控件生成Click事件,在Click事件中完成向ListBox控件添加一個(gè)項(xiàng)目并且使其高度增加20,代碼為:
<span style="font-size:18px;"> private void button1_Click(object sender, EventArgs e) { listBox1.Items.Add("子項(xiàng)");//增加子項(xiàng) listBox1.Height = listBox1.Height + 20;//增加高度 }</span>
完整的窗體代碼為:
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { listBox1.Items.Add("子項(xiàng)");//增加子項(xiàng) listBox1.Height = listBox1.Height + 20;//增加高度 } } } </span>
運(yùn)行窗體然后多次點(diǎn)擊增加按鈕的結(jié)果為:
二、GroupBox控件
GroupBox控件是由System.Windows.Forms.GroupBox類提供的,主要作用是為其他控件提供可識(shí)別的分組,通常,使用分組框按功能細(xì)分窗體。
實(shí)例:演示GroupBox控件的使用
在窗體上添加兩個(gè)GroupBox控件gpbSystem和gpbClass,設(shè)置gpbSystem控件的Text屬性為系別,并放置兩個(gè)RadioButton控件,分別設(shè)置它們的Text屬性為“計(jì)算機(jī)”和“外語系”。同樣設(shè)置gpbClass的Text屬性為班級(jí),并放置兩個(gè)RadioButton控件,分別設(shè)置它們的Text屬性為“一班”和“二班”。
運(yùn)行窗體的結(jié)果為:
三、TabControl控件
TabControl控件是由System.Windows.Forms.TabControl類提供的,作用就是將相關(guān)的組件組合到一系列選項(xiàng)卡頁面上。TabControl控件管理TabPages集合,TabControl控件的MultiLine屬性用來設(shè)置是否顯示多行選項(xiàng)卡選。如果Multiline屬性設(shè)置為false,而有多個(gè)選項(xiàng)卡不能一次顯示出來,就提供組箭頭查看剩余的選項(xiàng)卡。TabControl控件的Appearance屬性是指示選項(xiàng)卡是揮之成按鈕還是繪制成常規(guī)選項(xiàng)卡,該屬性有三個(gè)值分別是Normal(繪制成常規(guī)選項(xiàng)),Buttons(繪制成常規(guī)按鈕)和FlatButton(繪制成平滑按鈕)。
把光標(biāo)放在TabControl控件上點(diǎn)擊,可通過【增加選項(xiàng)卡】或選擇【移除選項(xiàng)卡】命令來添加和刪除TabPages集合,也可通過TabControl控件TabPages屬性來添加和刪除TabPages集合,TabPages的Text屬性是用來設(shè)置選項(xiàng)卡上顯示的內(nèi)容。而SelectedTab屬性可以確定當(dāng)前的選項(xiàng)卡。每次選擇新選項(xiàng)卡時(shí),救護(hù)觸發(fā)SelectedIndexChanged事件,通過SelectedIndex屬性和SelectedTab屬性確認(rèn)當(dāng)前選擇,就可以根據(jù)選項(xiàng)卡進(jìn)行待定的處理。
實(shí)例:演示TabControl控件的使用
(1)在窗體上添加一個(gè)TabControl控件并右擊,選擇【增加選項(xiàng)卡】命令,添加一個(gè)選項(xiàng)卡TabPage1,重復(fù)操作再添加個(gè)TabPage2,在TabPage1中提添加一個(gè)Button控件,更改TabPage1的Text屬性為“選項(xiàng)一”,在TabPage2中添加一個(gè)TextBox控件,更改TabPage2的Text屬性為“選項(xiàng)二”。
(2)選擇TabControl控件,在事件中找到SelectedindexChanged事件,雙擊后面的空格,生成SelectedIndexChanged事件,通過MessageBox的Show方法顯示TabControl控件所選項(xiàng)的TabPages的標(biāo)題和索引,代碼為:
<span style="font-size:18px;"> private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { MessageBox.Show("你單擊了"+tabControl1.SelectedTab.Text //取消單擊的選項(xiàng)卡標(biāo)題 +"它的索引是"+tabControl1.SelectedIndex.ToString());//取消單擊的選項(xiàng)卡索引 }</span>
完整的窗體代碼為:
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { MessageBox.Show("你單擊了"+tabControl1.SelectedTab.Text //取消單擊的選項(xiàng)卡標(biāo)題 +"它的索引是"+tabControl1.SelectedIndex.ToString());//取消單擊的選項(xiàng)卡索引 } } } </span>
依次單擊選項(xiàng)卡的運(yùn)行結(jié)果為:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- C#中讓控件全屏顯示的實(shí)現(xiàn)代碼(WinForm)
- .Net WInform開發(fā)筆記(三)談?wù)勛灾瓶丶?自定義控件)
- WinForm 自動(dòng)完成控件實(shí)例代碼簡(jiǎn)析
- WinForm子窗體訪問父窗體控件的實(shí)現(xiàn)方法
- 簡(jiǎn)介Winform中創(chuàng)建用戶控件
- 深入分析C#中WinForm控件之Dock順序調(diào)整的詳解
- c#中多線程訪問winform控件的若干問題小結(jié)
- WinForm實(shí)現(xiàn)移除控件某個(gè)事件的方法
- WinForm自定義函數(shù)FindControl實(shí)現(xiàn)按名稱查找控件
- C#的winform控件命名規(guī)范
相關(guān)文章
- 本文主要介紹了C#中利用GDI來繪制圖形和文字的方法,并提供的簡(jiǎn)單的示例供大家參考學(xué)習(xí),希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2016-03-03
C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器小功能
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C#實(shí)現(xiàn)網(wǎng)絡(luò)通信共享庫NetShare的使用示例
本文主要介紹了C#實(shí)現(xiàn)網(wǎng)絡(luò)通信共享庫NetShare,網(wǎng)絡(luò)通信共享庫NetShare用于保證客戶端與服務(wù)器通信數(shù)據(jù)包的規(guī)范和統(tǒng)一,感興趣的可以了解一下2023-11-11C#實(shí)現(xiàn)Stream與byte[]之間的轉(zhuǎn)換實(shí)例教程
這篇文章主要介紹了C#實(shí)現(xiàn)Stream與byte[]之間的轉(zhuǎn)換方法,具體講解了二進(jìn)制轉(zhuǎn)換成圖片、byte[]與string的轉(zhuǎn)換、Stream 和 byte[] 之間的轉(zhuǎn)換、Stream 和 文件之間的轉(zhuǎn)換、從文件讀取 Stream以及Bitmap 轉(zhuǎn)化為 Byte[]等,需要的朋友可以參考下2014-09-09c# 基于GMap.NET實(shí)現(xiàn)電子圍欄功能(WPF版)
這篇文章主要介紹了c# 基于GMap.NET實(shí)現(xiàn)電子圍欄功能(WPF版),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03最新評(píng)論