.net动态控件的使用(listview ,treeview,tabControl)
生活随笔
收集整理的這篇文章主要介紹了
.net动态控件的使用(listview ,treeview,tabControl)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于控件中顯示的數據可能是不固定的。如果固定,數據發生了變化,又要重新設計,這樣浪費成本,資源。
所以有用代碼操作控件,自由度,可控度高。
1,樹控件
//把 tv 作為全局變量 , 這是對動態控件取值的一種方式TreeView tv = new TreeView();private void Form1_Load(object sender, EventArgs e){//把tv加入窗體Controls.Add(tv);//填滿tv.Dock = DockStyle.Fill;DataTable dt = DBHelper.ExecuteTable("select * from grade");//遍歷年級foreach (DataRow row in dt.Rows){//一行 一個節點TreeNode node = new TreeNode();//樹節點 是 年級名node.Text = row["GradeName"].ToString();tv.Nodes.Add(node);//得到年級對應的這個班級DataTable classs = DBHelper.ExecuteTable(string.Format("select * from class where gradeid = '{0}'",row["gradeid"]));//把班級名 加到這個年級下foreach (DataRow item in classs.Rows){node.Nodes.Add(item["ClassName"].ToString());}}//雙擊table 生成點擊 事件tv.AfterSelect += Tv_AfterSelect;}private void Tv_AfterSelect(object sender, TreeViewEventArgs e){//測試 MessageBox.Show(tv.SelectedNode.Text);//動態控件好處之一 值隨數據庫的改變 自身 樣式 也隨之改變}2 tabcontrol & listview
private void Form2_Load(object sender, EventArgs e){ArrayList arr = new ArrayList();//tabcontrol + listview 動態控件TabControl tc = new TabControl();tc.Dock = DockStyle.Fill;this.Controls.Add(tc);DataTable grade = DBHelper.ExecuteTable("select * from Grade");foreach (DataRow row in grade.Rows){//一個選項卡頁 對應 一個 年級名TabPage tp = new TabPage(row["gradeName"].ToString());//把年級 添加到 選項卡 中的 選項頁tc.TabPages.Add(tp);// 實例化一個 listview ListView lv = new ListView();//并 加入到 每個 選項卡頁tp.Controls.Add(lv);//雙擊事件 lv.DoubleClick += Lv_DoubleClick;lv.Dock = DockStyle.Fill;//得到班級信息DataTable classs = DBHelper.ExecuteTable(string.Format("select * from class where gradeid = '{0}'", row["gradeid"]));foreach (DataRow item in classs.Rows){//遍歷 班級表 并把班級 加入到 每個listview 中ListViewItem lvi = new ListViewItem(item["ClassName"].ToString());lv.Items.Add(lvi);}}}private void Lv_DoubleClick(object sender, EventArgs e){//這是得到 listview 中的 選中值 , 英文好一點 就 看懂了 但這種方式最死,而且 蠢 易出錯//string value = ( ((Controls[0] as TabControl).SelectedTab as TabPage).Controls[0] as ListView ).SelectedItems[0].Text;//MessageBox.Show(value);//第三種方式 , 面向對象思想的 運用 //如果 list view 觸發了 這個雙擊事件 就得到 選中的值string value = (sender as ListView).SelectedItems[0].Text;MessageBox.Show(value);} 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的.net动态控件的使用(listview ,treeview,tabControl)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GB / ISO / 等保 网络安全相关
- 下一篇: 一个长方体玻璃容器从里面量长宽_泰来包装