五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

[C#學習筆記17]控件集合、事件統(tǒng)一關聯、Tag數據存、對象與集合綜合

2020-06-18 21:05 作者:技術龍的傳人  | 我要投稿

事件的集中響應

????原理:就是相同的控件,可以關聯同一個事件響應方法。

????好處:我們可以集中處理數據

????核心內容:按鈕的集中添加和Tag數據的封裝、窗體Controls集合的用途、通過遍歷Controls集合優(yōu)化事件關聯。

事件通用處理中數據的獲取

????核心內容:在按鈕事件中獲取Tag數據的方法、對象的封裝、泛型集合List運用

按鈕屬性:邊框FlatStyle選擇Flat扁平化,背景色藍色,字體白色微軟雅黑加粗小四

Tag填入數據,比如1111,11

用之前寫過的類Course

?/// <summary>

? ? /// 課程類

? ? /// </summary>

? ? public class Course?

? ? {

? ? ? ? public Course() { }

? ? ? ? public Course(int courseId, string courseName, int classHour, string teacher)

? ? ? ? {

? ? ? ? ? ? this.CourseId = courseId;

? ? ? ? ? ? this.CourseName = courseName;

? ? ? ? ? ? this.ClassHour = classHour;

? ? ? ? ? ? this.Teacher = teacher;

? ? ? ? }

? ? ? ? public int CourseId { get; set; }//課程編號

? ? ? ? public string CourseName { get; set; }//課程名稱

? ? ? ? public int ClassHour { get; set; }//課時

? ? ? ? public string Teacher { get; set; }//主講老師

}

????public partial class FrmEventApp : Form

? ? {

? ? ? ? //用來封裝課程對象的容器

? ? ? ? private List<Course> courseList = new List<Course>();

? ? ? ? public FrmEventApp()

? ? ? ? {

? ? ? ? ? ? InitializeComponent();

? ? ? ? ? ? //多個按鈕響應同一個事件,在此做事件關聯

? ? ? ? ? ? //this.btn01.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn02.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn03.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn04.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn05.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn06.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn07.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn08.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn09.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn10.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn11.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //this.btn12.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? //以上方法,如果你這么寫程序,會被別人認為你什么都不懂!

? ? ? ? ? ? foreach (Control item in this.Controls)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? //if (item is Button)//通過控件類型過濾不需要的控件

? ? ? ? ? ? ? ? //{

? ? ? ? ? ? ? ? //? ? Button btn = item as Button;//轉換成Button

? ? ? ? ? ? ? ? //? ? if (btn.Tag.ToString() != "Save")//過濾不需要的按鈕,特別注意Tag的使用

? ? ? ? ? ? ? ? //? ? {

? ? ? ? ? ? ? ? //? ? ? ? btn.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? ? ? //? ? }

? ? ? ? ? ? ? ? //}

? ? ? ? ? ? ? ? if (item is Button && item.Tag.ToString() != "Save")

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? item.Click += new System.EventHandler(this.btn_Click);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? //事件集中處理方法

? ? ? ? private void btn_Click(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? Button btn = sender as Button;

? ? ? ? ? ? //將當前按鈕Tag屬性中封裝的課程信息,通過字符串分割得到

? ? ? ? ? ? string[] info = btn.Tag.ToString().Split(',');

? ? ? ? ? ? //將當前課程信息封裝到課程對象,并將課程對象封裝到集合中

? ? ? ? ? ? this.courseList.Add(new Course

? ? ? ? ? ? {

? ? ? ? ? ? ? ? CourseName = btn.Text,

? ? ? ? ? ? ? ? CourseId = Convert.ToInt32(info[0]),

? ? ? ? ? ? ? ? ClassHour = Convert.ToInt32(info[1])

? ? ? ? ? ? });

? ? ? ? ? ? //改變當前按鈕的背景色

? ? ? ? ? ? btn.BackColor = Color.Green;

? ? ? ? ? ? //請大家思考:如果避免用戶多次添加同一個課程按鈕,而導致多次添加的問題...

? ? ? ?}

? ? ? ? //保存所選課

? ? ? ? private void btnSave_Click(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? //實際開發(fā)中,保存可以到數據庫、文件...

? ? ? ? ? ? //測試看看所選擇的課程

? ? ? ? ? ? foreach (var item in this.courseList)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Console.WriteLine(item.CourseId+"\t"+item.ClassHour+"\t"+item.CourseName);

? ? ? ? ? ? }

? ? ? ? }

? ? }


[C#學習筆記17]控件集合、事件統(tǒng)一關聯、Tag數據存、對象與集合綜合的評論 (共 條)

分享到微博請遵守國家法律
福海县| 建宁县| 康乐县| 无极县| 博湖县| 永登县| 石阡县| 江口县| 崇明县| 潞城市| 南澳县| 聂荣县| 莆田市| 揭东县| 南京市| 望谟县| 怀安县| 凤庆县| 合川市| 昌宁县| 岑巩县| 德钦县| 高台县| 和林格尔县| 定远县| 墨竹工卡县| 平度市| 西乡县| 惠来县| 日土县| 海口市| 舞钢市| 余姚市| 湘乡市| 高州市| 望城县| 昆山市| 西丰县| 敦煌市| 镇雄县| 阿瓦提县|