學(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é)果為:


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
- C#中讓控件全屏顯示的實(shí)現(xiàn)代碼(WinForm)
- .Net WInform開發(fā)筆記(三)談?wù)勛灾瓶丶?自定義控件)
- WinForm 自動(dòng)完成控件實(shí)例代碼簡析
- WinForm子窗體訪問父窗體控件的實(shí)現(xià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#使用帶like的sql語句時(shí)防sql注入的方法
這篇文章主要介紹了C#使用帶like的sql語句時(shí)防sql注入的方法,采用了一個(gè)比較簡單的字符串過濾方法就可以有效提高sql語句的安全性,防止sql注入,需要的朋友可以參考下2014-09-09
C#記一次http協(xié)議multipart/form-data的boundary問題
這篇文章主要介紹了C#記一次http協(xié)議multipart/form-data的boundary問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
c#利用webmail郵件系統(tǒng)發(fā)送郵件示例分享
在C#中發(fā)送郵件的方式有2種,一種是使用webmail方式進(jìn)行發(fā)送,另外一種就是采用netmail發(fā)送的方式,這篇文章介紹了c#使用webmail方式發(fā)送郵件示例,大家參考使用吧2014-01-01

