zoukankan      html  css  js  c++  java
  • 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>





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

  • 相关阅读:
    dreamvc框架(一)ioc容器的集成
    1040. Longest Symmetric String (25)
    虚指针存在证明及虚函数表
    Kibana中doc与search策略的区别
    AngularJS API之bootstrap启动
    AngularJS 技术总结
    Elasticsearch Javascript API增删改查
    AngularJS 中的Promise --- $q服务详解
    Ruby编程实践
    Ruby测试小代码[计算50以内的素数]
  • 原文地址:https://www.cnblogs.com/neoalvin/p/4906158.html
Copyright © 2011-2022 走看看