C#列表框、复选列表框、组合框的用法实例

本文实例讲述了C#列表框、复选列表框、组合框的用法。分享给大家供大家参考。具体分析如下:

功能实现效果如下图所示:

实现代码:

1、声明相关变量存储专业、课程设置及相关信息:

代码如下:

string gr, msg, xy;
string[] spec, cour1, cour2, cour3, cour4, cour5;

2、在Form1类中自定义函数bool checkGR()检查学生信息:

代码如下:

private bool checkGR()
{
    bool check = true;
    if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "")
    {
 check = false;
 MessageBox.Show("姓名和年龄必须填写");
    }
    return check;
}

3、在Form1类中自定义函数string record()收集学生信息:

代码如下:

private string record()
{
    gr = "";
    gr += textBox1.Text.Trim();
    if (radioButton1.Checked)
 gr += ",男";
    else
 gr += ",女";
    gr += "," + textBox2.Text.Trim() + "岁,";
    string hobby = "";
    foreach (Control ct1 in groupBox1.Controls)
    {
 CheckBox chk=(CheckBox)ct1;
 if (chk.Checked == true)
 {
     hobby += "<" + chk.Text + ">";
 }
    }

if (hobby != "")
    {
 hobby = "特长" + hobby;
    }
    gr += hobby;
    gr += ".\n";

xy = "所学专业<" + comboBox1.Text+">.\n专业必修课程包括: ";
    foreach (object course in listBox1.Items)
    {
 xy += "<" + course.ToString() + ">";
    }
    xy += "。\n";
    if (checkedListBox1.CheckedItems.Count != 0)
    {
 xy += "特别说明:";
 foreach (object intr in checkedListBox1.CheckedItems)
 {
     xy += "<" + intr.ToString() + ">";
     xy += "。";
 }
    }
   
    msg += gr + xy;
    return msg;
}

4、Load事件处理程序代码:

代码如下:

private void Form1_Load(object sender, EventArgs e)
{
    radioButton1.Checked = true;
    spec = new string[5] { "计算机", "软件", "网络", "物联网", "通信" };
    comboBox1.DataSource = spec;
    comboBox1.SelectedIndex = 0;
    cour1 = new string[] {"计算机应用","程序设计","数据库","OPP","计网","计科" };
    cour2 = new string[] { "计算机应用", "程序设计", "数据库", "OPP", "计网", "高级编程" };
    cour3 = new string[] { "计算机应用", "程序设计", "无线网络安全", "OPP", "协议分析", "计科" };
    cour4 = new string[] { "计算机应用", "程序设计", "计算机数学", "数字媒体", "计网", "计科" };
    cour5 = new string[] { "计算机应用", "数电", "模电", "数学", "通信", "计科" };
    listBox1.DataSource = cour1;
}

5、组合框代码设计:

代码如下:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    switch(comboBox1.SelectedIndex)
    {
 case 0:
     listBox1.DataSource = cour1;
     break;
 case 1:
     listBox1.DataSource = cour2;
     break;
 case 2:
     listBox1.DataSource = cour3;
     break;
 case 3:
     listBox1.DataSource = cour4;
     break;
 case 4:
     listBox1.DataSource=cour5;
     break;
    }
}

6、确定Button代码:

代码如下:

private void button1_Click(object sender, EventArgs e)
{
    if (checkGR())
    {
 MessageBox.Show(record(), textBox1.Text + "的推荐信息");
    }
}

7、退出Button代码:

代码如下:

private void button2_Click(object sender, EventArgs e)
{
    this.Close();
}

希望本文所述对大家的C#程序设计有所帮助。

时间: 2015-01-02

C#实现组合排列的方法

     C#实现组合排列的方法 最近在做数据分析系统,里面涉及到组合排列的问题,查找了很多的资料,但是感觉很多资料都是比较零散的,达不到项目需求. 后来经过一段的时间的探索,终于实现了组合排列的功能.下面我就来简单说说吧.      需求描述:   要实现的功能就是字符或数字的组合排列.例如:ab 的所有组合为:ab,ba :  ab的所有不重复排列为:ab. 其实这也是彩票中常说的直选和组选.效果图如下:     功能实现 这里就不多说了,直接贴上实现代码吧.       1.窗体界面 窗体

C# 设计模式系列教程-组合模式

1. 概述 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 2. 解决的问题 当希望忽略单个对象和组合对象的区别,统一使用组合结构中的所有对象(将这种"统一"性封装起来). 3. 组合模式中的角色 3.1 组合部件(Component):它是一个抽象角色,为要组合的对象提供统一的接口. 3.2 叶子(Leaf):在组合中表示子节点对象,叶子节点不能有子节点. 3.3 合成部件(Composite):定义有枝

C#查找字符串所有排列组合的方法

本文实例讲述了C#查找字符串所有排列组合的方法.分享给大家供大家参考.具体实现方法如下: // 1. remove first char // 2. find permutations of the rest of chars // 3. Attach the first char to each of those permutations. // 3.1 for each permutation, move firstChar in all indexes // to produce even

C#中实现任意List的全组合算法代码

复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 算法{    class 全组合算法    {        [Flags]        public enum PersonType        {            Audit = 1,            Child = 2,            Senior = 4   

c# 组合模式

结构图: 抽象对象: 复制代码 代码如下: abstract class Component    {        protected string name;        public Component(string name)        {            this.name = name;        }        public abstract void Add(Component c);        public abstract void Remove(Com

C#实现图形区域组合操作的方法

本文实例讲述了C#实现图形区域组合操作的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace advanced_drawing { public parti

C#组合模式实例详解

本文实例讲述了C#组合模式.分享给大家供大家参考.具体如下: Company.cs如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class Company { protected string name; public Company(string name) { t

C#实现图形位置组合转换的方法

本文实例讲述了C#实现图形位置组合转换的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D; namespace

C#组合函数的使用详解

如下所示: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Class1    {        static string[] str = { "A", "B", "C", "D", "E" };        static voi

python操作列表的函数使用代码详解

python的列表很重要,学习到后面你会发现使用的地方真的太多了.最近在写一些小项目时经常用到列表,有时其中的方法还会忘哎! 所以为了复习写下了这篇博客,大家也可以来学习一下,应该比较全面和详细了 列表(list): 用来存放相同或者不同元素(字符)用逗号隔开的一个存储方式. list我个人认为最重要的有一点大家可能都容易忽略那就是复制列表,这点文章最后来讲解 定义三个列表的样例 lis = [1, 2, 3, 4, 5, 6] lis = ['a', 'b', 'c', 'd'] lis =

Oracle中的translate函数和replace函数的用法详解

translate函数语法: translate(expr, from_strimg, to_string) 简介: translate返回expr,其中from_string中的每个字符的所有出现都被to_string中的相应字符替换.expr中不在from_string中的字符不会被替换.如果expr是一个字符串,那么你必须把它放在单引号中. from_string的参数可以包含比to_string更多的字符.在这种情况下,from_string末尾的多余字符在to_string中没有对应的

Python Lambda函数使用总结详解

这篇文章主要介绍了Python Lambda函数使用总结详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的对应关系 定义func函数,计算给定数x的平方 def func(x): return x*x 等价于 func = lambda x: x

双向RNN:bidirectional_dynamic_rnn()函数的使用详解

双向RNN:bidirectional_dynamic_rnn()函数的使用详解 先说下为什么要使用到双向RNN,在读一篇文章的时候,上文提到的信息十分的重要,但这些信息是不足以捕捉文章信息的,下文隐含的信息同样会对该时刻的语义产生影响. 举一个不太恰当的例子,某次工作会议上,领导进行"简洁地"总结,他会在第一句告诉你:"下面,为了节约时间,我简单地说两点-",(-此处略去五百字-),"首先,-.",(-此处略去一万字-),"碍于时间的

基于C++ bitset常用函数及运算符(详解)

C++ bitset--高端压位卡常题必备STL ------------------------------------------------------------ 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化--bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,

C++ 中const对象与const成员函数的实例详解

C++ 中const对象与const成员函数的实例详解 const对象只能调用const成员函数: #include<iostream> using namespace std; class A { public: void fun()const { cout<<"const 成员函数!"<<endl; } void fun() { cout<<"非const成员函数 !"<<endl; } }; int

web开发之对比时间大小的工具函数的实例详解

web开发之对比时间大小的工具函数的实例详解 js时间大小比较,格式yyyy-MM-dd hh:mm:ss 把时间比较封装成一个工具函数: /** * 比较两个时间的大小 * 时间格式:yyyy-MM-dd hh:mm:ss * @param {Object} beginTime 开始时间 * @param {Object} endTime 结束时间 */ var getDataLarge = function(beginTimeString,endTimeString){ var b = be

Oracle中的INSTR,NVL和SUBSTR函数的用法详解

Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 在字符串中查找'OR',从第三个字符位置开始查找"OR",取第三个字后第2个匹配项的位置. 默认查找顺序为从左到右.当起始位置为负数的时候,从右边开始查找. 所以SELECT I

Java回调函数实例代码详解

首先说说什么叫回调函数? 在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调.在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃. 这样的解释似乎还是比较难懂,这里举个简 单的例子: 程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序.程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法.目的达到