【第22期】观点:IT 行业加班,到底有没有价值?

C#学习笔记——控件篇

原创 2015年11月21日 10:24:21

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





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

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

相关文章推荐

C#学习笔记25——C#控件

控件分类:DataGridView 控件DataGridView 控件:提供用来显示数据的可自定义表。使用 DataGridView 类,可以自定义单元格、行、列和边框。注意:DataGridView...
  • byxdaz
  • byxdaz
  • 2011-08-31 00:47
  • 4222

C#学习笔记——控件篇

数据库系统课程设计已经过去好几天了,两周的课程设计强度除了强制到场其实强度并不大。起初的任务书原版本是以python语言为基础在flask框架下完成,不过因为涉及到频繁的表单操作,而这恰恰也是我还并不...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

C#学习笔记之 TabControl控件

写在前边的话:C#学习系列博客是本人在学习C#过程中的读书笔记,目的是方便以后查看复习。由于本人才疏学浅,在学习过程中,难免有所遗漏和错误,欢迎大牛们指正。              TabCont...

C#学习笔记整理-线程间操作无效: 从不是创建控件“XXXXXXX”的线程访问它。

线程间操作无效: 从不是创建控件“XXXXXXX”的线程访问它。

C#学习笔记:设置label(标签)控件的背景颜色为透明

有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件。那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)