濟南市官網
阿新 • • 發佈:2017-07-21
滾動條 ack png 好的 新建 指定位置 nic 改變 --
用戶控件 用戶控件:也就是自定義控件 可以把數據庫的人員管理系統的展示可以,放頭像 制作方法: (一)在一項目上右鍵點擊添加一個新建項,找到【用戶控件】UserControl (二)雙擊打開用戶自定義控件 (三)這個東西很像無邊框窗口,實際可以理解成panel容器 (四)然後把其他已有的了控件往裏拽就是了 (五)這樣就是一個初步的人物小卡片了 (六)點擊啟動,生成成功了 (七)然後按住拖進去就會看到一個一模一樣的標簽卡片 (八)然後右鍵查看屬性會發現和Panel容器一樣 (九)但是沒有辦法在屬性裏改變內容 (十)點擊進入構造函數進行訪問,同時設置權限,並選取圖片 (十一)設置圖片的大小可以用代碼 【綁定數據庫】 (十二)因為需要把數據庫的東西展示出來,所以需要連接數據庫 首先,把剛才構造函數裏寫的代碼刪掉不要了 然後,把圖片按剛才的方法放到指定位置,一一對應相應的人 排列相應的布局,查看代碼寫方法 開始封裝:public void DataBind() { flowLayoutPanel1.Controls.Clear();//將數據庫的數據取出來 List<Users> ulist = new UsersData().SelectALL();//每一個數據對象都做成一個用戶控件:遍歷 int count = 0; 定義count是零 int HeadIndex = 0; foreach (Users u in ulist) 遍歷 { UserControl1 uc = new UserControl1(); 【uc.label5.Text = u.Ucode;】 uc.pictureBox1.BackgroundImage = Image.FromFile("img/" + HeadIndex + ".png"); 圖像的綁定 uc.label1.Text = "姓名:" + u.NickName; uc.label2.Text = "性別:" + (u.Sex ? "男" : "女"); uc.label3.Text = "生日:" + u.Birthday.ToString("yyyy年MM月dd日"); uc.label4.Text = "民族:" + u.Nation; 民族沒有屬性擴展 HeadIndex++; //將做好的用戶控件添加到容器中 flowLayoutPanel1.Controls.Add(uc); 然後是判斷: if (count < 2) { Panel p = new Panel(); 設置之間的間距,在中間放一個Panel,每創建完一個再創建一個Panel p.Height = uc.Height; p.Width = 50; flowLayoutPanel1.Controls.Add(p); } count++; if (count >= 3) { count = 0; } } } public Form1() { InitializeComponent(); DataBind(); 調方法 } (十三)沒有出現滾動條 (十四)可以設置布局的大小 (十五)背景色的布局 (十六)設置之間的間距 (十七)Panel p = new Panel(); (十八)定義一個中間變量(也可以用Margin屬性) (十九)背景變色: private Color oldcolor; private bool colorget = false; private void UserControl1_MouseEnter(object sender, EventArgs e) { if (colorget == false) { oldcolor = this.BackColor; colorget = true; } this.BackColor = Color.Red; } 【MouseLeave-----鼠標移出】 private void UserControl1_MouseLeave(object sender, EventArgs e) { this.BackColor = oldcolor; } (二十)這時鼠標移動到圖片時並不會改變顏色,而是默認已移出, 圖片的鼠標設置完成了之後,再把其他的label1鼠標屬性也一個個的綁定 基本已經完成了 (二十一)還可以是鼠標變小手 (二十二)增加修改和刪除按鈕 private void button2_Click(object sender, EventArgs e) { new UsersData().DeleteUser(this.label5.Text); Form1 f1 = this.Parent.Parent as Form1; f1.DataBind(); } (二十三)刪完之後調取刷新 (二十四)這時刪完之後清空 (二十五)基本完成 (二十六)修改: Form2 f2 = new Form2(this.label5.Text); 和刪除一樣,傳入的是它的編號,不懂得話看看刪除方法 f2.Show(); 然後在Form2的構造函數裏寫 public update(string uc) { InitializeComponent(); label1.Text = "要刪除的編號是:"+uc; } (二十七)基本完成
濟南市官網