C#学习笔记——控件篇

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





版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/neoalvin/p/4906158.html