数据库系统课程设计已经过去好几天了,两周的课程设计强度除了强制到场其实强度并不大。起初的任务书原版本是以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>
版权声明:本文为博主原创文章,未经博主允许不得转载。