C#学习笔记——控件篇

来源:互联网 发布:java数据存储方式 编辑:程序博客网 时间:2024/05/21 12:43

数据库系统课程设计已经过去好几天了,两周的课程设计强度除了强制到场其实强度并不大。起初的任务书原版本是以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>





0 0
原创粉丝点击