欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#winform怎樣實現動態生成控件

admin
2024年10月18日 12:51 本文熱度 452

概述

動態創建添加控件,可以在一個大容器里一次性放入多個控件。例:根據文本框中輸入的數字 給flowLayoutPanel1 添加多少個button。窗體設計中,需要什么控件就從工具箱里拖出一個控件“掛”在窗體上。其實,窗體上的控件,不但可以“拖”,還可以用代碼動態生成。動態生成控件,對需要相同的大量的控件還是比較有用的。

實現方式

1、加載數據,往panel添加Label 控件。

 private void LoadRoomType()        {            DataTable dtRoomType = _roomTypeBLL.GetModelList("", "Code");            pnlRoomType.Controls.Clear();            int padding = 5;            int x = padding, y = padding;            pnlRoom.Controls.Clear();            foreach (DataRow item in dtRoomType.Rows)            {                Label lbl = new Label();                lbl.Text = string.Format("{0}", item["Names"]);                lbl.Image = btnRoomType.Image;                lbl.Cursor = Cursors.IBeam;                lbl.TextAlign = btnRoomType.TextAlign;                lbl.Font = btnRoomType.Font;                lbl.ForeColor = btnRoomType.ForeColor;                lbl.Size = btnRoomType.Size;                lbl.Location = new Point(x, y);                lbl.Tag = item;                lbl.Click += new EventHandler(lbl_Click);                lbl.MouseEnter += new EventHandler(lbl_MouseEnter);                lbl.MouseLeave += new EventHandler(lbl_MouseLeave);                x += lbl.Width + padding;                if (x + lbl.Width > pnlRoomType.Width)                {                    x = padding;                    y += lbl.Height + padding;                }                pnlRoomType.Controls.Add(lbl);            }            int height = y + (x != padding ? pnlRoomType.Height : 0) + padding;            int addHeight = height - pnlRoomType.Height;            pnlRoom.Top = pnlRoom.Top + addHeight;            pnlRoom.Height = pnlRoom.Height - addHeight;            pnlRoomType.Height = pnlRoomType.Height + addHeight;            if (dtRoomType.Rows.Count > 0)                LoadRoomByTypeID(dtRoomType.Rows[0], 0);        }

2、定義Label 的點擊事件。

  void lbl_Click(object sender, EventArgs e)        {            try            {                Label lbl = sender as Label;                DataRow row = lbl.Tag as DataRow;                LoadRoomByTypeID(row, 0);             }            catch (Exception ex)            {
              ;            }
       }


3、定義Label 的鼠標事件。

   #region lbl_MouseLeave        void lbl_MouseLeave(object sender, EventArgs e)        {            Label lbl = sender as Label;            lbl.Font = new Font(lbl.Font, FontStyle.Regular);            lbl.Cursor = Cursors.Default;            lbl.ForeColor = btnRoomType.ForeColor;        }        #endregion        #region lbl_MouseEnter        void lbl_MouseEnter(object sender, EventArgs e)        {            Label lbl = sender as Label;            lbl.Font = new  Font(lbl.Font, FontStyle.Bold);            lbl.Cursor = Cursors.IBeam;        }        #endregion

效果


該文章在 2024/10/19 12:24:09 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved