C#學習筆記——控制元件篇
阿新 • • 發佈:2019-01-06
資料庫系統課程設計已經過去好幾天了,兩週的課程設計強度除了強制到場其實強度並不大。起初的任務書原版本是以python語言為基礎在flask框架下完成,不過因為涉及到頻繁的表單操作,而這恰恰也是我還並不太熟練的部分,於是果斷改用了C#。
雖然之前並未嘗試過C#程式設計,但由於之前有一些語言基礎,加之C#窗體程式設計的傻瓜式操作,方便的介面設計,so用了兩天時間熟悉了一下C#窗體控制元件便開始了自己的課程設計。下面記錄一下我所使用的一些基本的C#窗體控制元件:
1.TreeView控制元件
一般用作目錄或選單
<pre name="code" class="csharp" style="font-size: 13.3333339691162px;"><span style="font-family:Microsoft YaHei;font-size:12px;">//初始化樹形選單控制元件 public void initTree() { TreeNode node = new TreeNode(); //設定Treeview上方間距 myTree.Top = 94; //myTree為控制元件名 //新增根節點 string[] TreeStr = new string[5] { "使用者操作", "前臺服務", "後臺管理", "系統設定" ,"退出系統"}; for (int i = 0; i <= 4; i++) { myTree.Nodes.Add(new TreeNode(TreeStr[i])); myTree.Nodes[i].ForeColor = Color.Black; myTree.Nodes[i].ExpandAll(); } //新增子節點 myTree.Nodes[0].Nodes.Add("使用者登入"); myTree.Nodes[0].Nodes.Add("使用者註冊"); myTree.Nodes[1].Nodes.Add("賓客登記"); myTree.Nodes[1].Nodes.Add("賓客退房"); myTree.Nodes[1].Nodes.Add("賓客預約"); myTree.Nodes[2].Nodes.Add("客戶管理"); myTree.Nodes[2].Nodes.Add("客房管理"); }</span>
<span style="font-family:Microsoft YaHei;">//TreeView點選事件
TreeNode node = new TreeNode();
node = myTree.SelectedNode; //node為選中的節點
if(node.Text=="使用者操作")
{
//完成相應操作
}
else if(node.Text=="前臺服務")
{
//完成相應操作
}
else if.......</span>
<span style="font-family:Microsoft YaHei;">//節點游標隨介面跳轉移動 public void focusNode(string nText) { myTree.Focus(); for (int i = 0; i < myTree.Nodes.Count; i++) { for (int j = 0; j < myTree.Nodes[i].Nodes.Count; j++) { if (myTree.Nodes[i].Nodes[j].Text == nText) { myTree.SelectedNode = myTree.Nodes[i].Nodes[j];//第二層節點選中 } for (int k = 0; k < myTree.Nodes[i].Nodes[j].Nodes.Count; k++) { if (myTree.Nodes[i].Nodes[j].Nodes[k].Text == nText) { myTree.SelectedNode = myTree.Nodes[i].Nodes[j].Nodes[k];//第三層節點選中 } } } } }</span>
2.Panel控制元件
一般用作其他控制元件的容器,這裡我將其用來實現在同一主頁根據選單展示不同的功能介面
<span style="font-family:Microsoft YaHei;">//切換使用者註冊介面 public void panel_Reg() { focusNode("使用者註冊");<span style="white-space:pre"> </span>//TreeView節點游標移動 RegitForm reg = new RegitForm();<span style="white-space:pre"> </span>//為使用者註冊介面視窗建立一個物件 reg.Home = this;<span style="white-space:pre"> </span>//使用者註冊類中的Home為主視窗的一個物件,此行程式碼加入後方能生效 reg.TopLevel = false; this.mainPanel.Controls.Clear(); /清除panel控制元件中原有內容,mainPanel為Panel控制元件名 this.mainPanel.Controls.Add(reg); //新增使用者註冊視窗到Panel控制元件 reg.Show(); //展示使用者註冊視窗 }</span>
3.ListView控制元件
一般用作資料的展示
<span style="font-family:Microsoft YaHei;">//初始化ListView,roomList為控制元件名
public void initListView()
{</span>
<span style="font-family:Microsoft YaHei;">//新增表頭
roomList.Columns.Add("客房號", 110, HorizontalAlignment.Center);<span style="white-space:pre"> </span>
roomList.Columns.Add("型別", 130, HorizontalAlignment.Center);
roomList.Columns.Add("價格", 100, HorizontalAlignment.Center);
roomList.Columns.Add("入住狀態", 100, HorizontalAlignment.Center);
roomList.Columns.Add("預約狀態", 100, HorizontalAlignment.Center);
roomList.Columns.Add("預約時間", 110, HorizontalAlignment.Center);
<span style="white-space:pre"> </span>//將資料集DataSet中的資料內容新增到ListView中
for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
{
ListViewItem item = roomList.Items.Add(dataSet.Tables[0].Rows[i][0].ToString());
for (int j = 1; j < dataSet.Tables[0].Columns.Count; j++)
{
item.SubItems.Add(dataSet.Tables[0].Rows[i][j].ToString());
}
}
dataSet.Dispose();
<span style="white-space:pre"> </span>}</span>
4.ComboBox(下拉列表)控制元件
<span style="font-family:Microsoft YaHei;font-size:12px;">//初始化控制元件,combType為控制元件名
combType.Items.Add(//內容);
//使用控制元件
combType.Text為選中項</span>
5.DateTimePicker(時間選擇)控制元件
<span style="font-family:Microsoft YaHei;">datePicker.Value.ToString("yyyy-MM-dd");//日期格式</span>
6.TabControl控制元件
比mfc好操作的多,並不需要自己建立子視窗,直接在新建的不同頁中新增自己需要的控制元件即可
<span style="font-family:Microsoft YaHei;">點選TabPages屬性可以新增選項並修改名稱
在不同TabPages中新增自己需要的控制元件即可
<strong>注意:因為所有TabPages都是在同一個類中,故其中的控制元件ID不能重複</strong></span>