日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

按钮事件的统一处理

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 按钮事件的统一处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 按鈕事件的統一處理
      • 1.1 項目UI及所需實現的功能簡要介紹
      • 1.2 功能實現

1 按鈕事件的統一處理

1.1 項目UI及所需實現的功能簡要介紹

項目UI如下:

所需實現的功能:

  • 除“保存所選課程”按鈕外,其他的按鈕點擊事件統一處理。按鈕攜帶的信息通過Tag進行傳遞。
  • 將所選擇的課程通過實體類的封裝存儲到泛型集合中。
  • 1.2 功能實現

    首先來看下實體類的代碼,非常簡單:

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace xiketang.com.WinformBase {/// <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; }//主講老師} }

    窗體相關代碼如下:

    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 xiketang.com.WinformBase {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;// 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){//實際開發中,保存可以到數據庫、文件...//測試看看所選擇的課程foreach (var item in this.courseList){Console.WriteLine(item.CourseId+"\t"+item.ClassHour+"\t"+item.CourseName);}}} }

    參考資料:

  • .NET/C#工控上位機VIP系統學習班【喜科堂互聯教育】
  • 總結

    以上是生活随笔為你收集整理的按钮事件的统一处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。