精华内容
下载资源
问答
  • C#程序开发范例宝典

    2011-03-18 21:36:59
    此压缩包为《C#程序开发范例宝典》一书中的第六章 第6章 文件系统 253  6.1 创建和删除文件 254  实例172 创建和删除文件夹 254  实例173 建立临时文件 255  实例174 根据日期动态建立文件 256 ...
  • C#程序开发范例宝典光盘内容C#程序开发范例宝典光盘内容
  • C#程序开发范例宝典 第3版(扫描版)
  • C#程序开发范例宝典(第3版)高清Pdf资源!
  • C#高级编程(第5版)C#程序开发范例宝典C#高级编程(第5版)C#程序开发范例宝典
  • C#程序开发范例宝典(第2版)》(人民邮电出版社.梁冰,吕双,王小科)一书的配套源代码。
  • c#范例宝典第二版源代码,帮助初学者更容易的学会c#语言。
  • C#程序开发范例宝典(第2版)》紧密围绕程序开发人员在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了应用C#进行程序开发的技术和技巧。全书包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体...
  • C# 程序开发范例宝典(第二版)源码(完整版+目录)
  • C#程序开发范例宝典(第八章:注册表) 8.1(操作注册表) 8.2(系统设置) 8.3(IE浏览器设置) 8.4(应用软件设置)
  • C#程序开发范例宝典》第十三章(硬件相关开发技术应用) 这一章想来对好多做串口的朋友非常有用的 13.1(串口控制) 13.2(加密狗) 13.3(ID卡应用) 13.4(监控) 13.5(语音卡控制) 13.6(手机程序开发) 13.7...
  • 这个是明日科技编写的《c#程序开发范例宝典》的光盘内容,有需要的朋友可以自行下载。共20章!若找不到其他的话,进本人的CSDN空间看看本人的上传资源!谢谢合作!资源共享拉进我们的距离(*^__^*) 嘻嘻
  • C#程序开发范例宝典(第九章:数据库技术) 9.1(连接Access数据库) 9.2(连接SQL Server数据库) 9.3(连接其他数据库) 9.4(数据库结构的读取和修改) 9.5(数据录入) 9.6(图片存取技术) 9.7(数据修改) 9.8...
  • C#程序开发范例宝典4

    2009-06-17 18:58:55
    本书紧密围绕程序开发人员在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了应用C#进行程序开发的技术和技巧。全书分为20章,内容包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统...
  • c#程序开发宝典》源码下载,很好用,适合初学者···
  •  本书紧密围绕程序开发人员在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了应用C#进行程序开发的技术和技巧。全书包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与...
  • 【实例截图】 ...以下内容无关: -------------------------------------------分割线--------------------------------------------- 双向链表 双向链表的增、删、改、遍历思路 1.增加: 在双向链表的末尾增加;...

    【实例截图】

    在这里插入图片描述

    文件:590m.com/f/25127180-489402234-528749(访问密码:551685)

    以下内容无关:

    -------------------------------------------分割线---------------------------------------------

    双向链表
    双向链表的增、删、改、遍历思路

    1.增加: 在双向链表的末尾增加;

    只需找到最后一个结点temp;

    temp.next = newNode;

    newNode.pre = temp;

    2.指定的位置插入

    假设插入到index位置,

    有两种情况:①当temp.next.no > index是则找到该位置,temp为该位置的上一个结点

    ② 遍历后到了链表尾则直接插入链表尾部

    3.删除元素

    4.修改元素

    public class DoubleLinkList {
    public static void main(String[] args) {
    Node nodeA = new Node(1, “aaa”, “AAA”);
    Node nodeB = new Node(5, “bbb”, “BBB”);
    Node nodeC = new Node(8, “ccc”, “CCC”);
    Node nodeD = new Node(9, “ddd”, “DDD”);
    DoubleLink listArray = new DoubleLink();
    listArray.add(nodeA);
    listArray.add(nodeB);
    listArray.add(nodeC);
    listArray.insert(nodeD,10);
    listArray.getList();
    // listArray.update(nodeD);
    // listArray.delete(nodeC);
    // listArray.getList();
    }
    }
    class DoubleLink {
    private Node head = new Node(0,"","");
    public Node getHead() {
    return head;
    }

    // 遍历双向链表
    public void getList() {
        if (head.next == null) {
            System.out.println("链表为空");
            return;
        }
        Node temp = head;
        while (temp.next != null) {
            System.out.println(temp.next);
            temp =temp.next;
        }
    }
    
    // 双向链表中添加元素
    public void add(Node node) {
        Node temp = head;
    
        while (temp.next != null) {
            temp = temp.next;
        }
        temp.next = node; // 在尾部插入要增加的结点
        node.pre = temp;  // 让新增的结点的pre指向前一个结点
    }
    
    // 修改双向链表的元素
    public void update(Node node) {
        if (head.next == null) {
            System.out.println("链表为空");
            return;
        }
        Node temp = head.next;
        while (temp.no != node.no) {
            if (temp == null) {
                System.out.println("未找到该元素");
              return;
            }
            temp =temp.next;
        }
        temp.name = node.name;
        temp.bName = node.bName;
    }
    
    // 删除双向链表的元素
    public void delete(Node node) {
        if (head.next == null) {
            System.out.println("链表为空");
            return;
        }
        Node temp = head.next;
        while (temp.no != node.no) {
            if (temp == null) {
                System.out.println("未找到该结点");
                return;
            }
            temp = temp.next;
        }
        temp.pre.next = temp.next; // 要删除结点的上一个结点next指向要删除节点的下一个结点
    
        // 判断删除的结点是不是最后一个,如果最后一个则不执行
        if (temp.next != null) {
            temp.next.pre = temp.pre;  //让当前元素的下一个结点的pre指向当前元素的像一个结点的pre
        }
    }
    
    // 指定位置插入元素
    public void insert(Node node,int index) {
      Node temp = head;
      boolean flag = false;
      while (true) {
          if (temp.next == null) {
              System.out.println("到尾了,直接插入");
              break;
          } else if (temp.next.no > index) {
              System.out.println("找到了位置");
              break;
          } else if (temp.next.no == index) {
             flag = true;
              break;
          }
          temp = temp.next;
      }
      if (flag) {
          System.out.println("位置已经存在");
      } else {
          /**
           * 先连接后面的
           */
          if (temp.next != null) {
              temp.next.pre = node; // 将后一个元素的pre于当前节点的pre相连
              node.next = temp.next;
          }
          /**
           *  在连接前面的
           */
          temp.next = node;
          node.pre = temp;
      }
    
    }
    

    }
    class Node {
    public int no;
    public String name;
    public String bName;
    public Node pre; // 指向上一个结点
    public Node next; // 指向下一个结点

    public Node(int no, String name, String bName) {
        this.no = no;
        this.name = name;
        this.bName = bName;
    }
    
    @Override
    public String toString() {
        return "Node{" +
                "no=" + no +
                ", name='" + name + '\'' +
                ", bName='" + bName + '\'' +
                '}';
    }
    

    }

    展开全文
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
  • 一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
  • 一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
  • 由于上传权限限制一次只能上传60MB以下的文件,因此该源代码分2次上传
  • C#程序开发范例宝典pdf 文档分享

    千次阅读 2014-01-25 10:02:07
     本书紧密围绕编程者在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了asp.net进行程序开发的各方面技术和技巧。全书分为22章(其中第22章综合实例放在配套光盘中),内容包括搭建asp.net开发环境,页面...
    

    内容介绍:
      本书紧密围绕编程者在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了asp.net进行程序开发的各方面技术和技巧。全书分为22章(其中第22章综合实例放在配套光盘中),内容包括搭建asp.net开发环境,页面设计及广告页设计,css样式与javascript脚本应用,字符串、日期操作,常用web服务器控件,验证控件,高级web服务器控件,ado.net技术,数据绑定技术,sql查询相关技术,视图、存储过程及触发器的应用,asp.net内置对象,文件处理,图形图像与多媒体,水晶报表与打印,xml技术,web service,ajax应用开发,asp.net高级应用,asp.net安全机制,网站设计与网页配色。全书共提供了480个实例,每个实例都突出实用性,其中大部分是程序开发者梦寐以求的有关问题的解决方案。
       本书附有配套光盘。光盘提供了书中所有实例的源代码,全部源代码都经过精心调试,在windows xp/windows server 2003下测试通过,保证能够正常运行。
       本书适用于广大计算机爱好者和编程人员,也可供大中专院校师生阅读。
    内容截图:
    【精品教程】C程序开发范例宝典pdf 文档分享 - 踏浪星空 - 踏浪的编程小屋
    目录:
    第1章 搭建asp.net开发环境
    第2章 页面设计及广告页设计
    第3章 css样式与javascript脚本应用
    第4章 字符串、日期操作
    第5章 常用web服务器控件
    第6章 验证控件
    第7章 高级web服务器控件
    第8章 ado.net技术
    第9章 数据绑定技术
    第10章 sql查询相关技术
    第11章 视图、存储过程及触发器的应用
    第12章 asp.net内置对象
    第13章 文件处理
    第14章 图形图像与多媒体
    第15章 水晶报表与打印
    第16章 xml技术
    第17章 web service
    第18章 ajax应用开发
    第19章 asp.net高级应用
    第20章 asp.net安全机制
    .第21章 网站设计与网页配色

    点击下载

    展开全文
  • 一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
  • 管理系统开发相关; SELECT子句; 查询常量; 查询变量; 模式查询; TOP 和PERCENT限制查询结果; 周期/日期查询; 比较/逻辑/重复查询; 在查询中使用OR 和AND运算符; 排序/分组统计; 聚合函数 .... 存储过程的...
  • 实例018 类似Windows Xp的程序界面 18 实例019 以图形按钮显示的界面 20 实例020 以树形显示的程序界面 21 实例021 动态按钮的窗体界面 22 1.6 特殊形状的窗体 24 实例022 非矩形窗体 24 实例023 建立...
  • 因此:只允许输入数字的程序代码为:(注意:在限制用户输入非0~9间数字的同时,不应限制用户输入“回车”和“退格”) private void txtSum_KeyPress(object sender, KeyPressEventArgs e)  {  if ((e....

     、只允许输入数字

    控制文本框中只能输入数字主要是通过TextBox控件的KeyPress事件实现的。KeyPress事件用来在控件有焦点的情况下,按下键时发生,语法为:

    public event KeyPressEventHandler KeyPress

    KeyPressEventHandler表示将要处理Control的KeyPress事件的方法。其语法为:

    public delegate void KeyPressEventHandler(object sender,KeyPressEventArgs e)

    参数说明: sender:事件源;

                         e :包含事件数据的KeyPressEventArgs 。

    KeyPressEventArgs对象有Handled属性和KeyChar属性。

    (1)Handled属性:

               获取或设置一个值,指示是否处理过KeyPress事件。如果处理过,则为True,否则为False。

    (2)KeyChar属性:

            获取或设置与按下的键对应的字符。属性值为键盘对应的ASCII字符。

    eg. 判断用户是否按下回车键,代码如下:

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar ==13)
                {
                    MessageBox.Show("您按下了回车键");                               
                }
            }

    常用键盘对应的ASCII字符集:

    常数         值    描述
    vbKeyA     65    A 键
    vbKeyB     66    B 键
    vbKeyC     67    C 键
    vbKeyD    68     D 键
    vbKeyE      69     E 键
    vbKeyF     70     F 键
    vbKeyG      71      G 键
    vbKeyH      72      H 键
    vbKeyI      73      I 键
    vbKeyJ      74    J 键
    vbKeyK      75      K 键
    vbKeyL     76      L 键
    vbKeyM      77      M 键
    vbKeyN      78      N 键
    vbKeyO     79    O 键
    vbKeyP     80     P 键
    vbKeyQ     81    Q 键
    vbKeyR     82    R 键
    vbKeyS     83     S 键
    vbKeyT     84     T 键
    vbKeyU     85     U 键
    vbKeyV     86     V 键
    vbKeyW     87     W 键
    vbKeyX     88     X 键
    vbKeyY      89      Y 键
    vbKeyZ     90     Z 键
    小写字母为对应大写字母加上32

    0——9的ASCII值对应分别为48——57

    回车:13

    换行:10;

    空:0;

    退格(Backspace):8;

    因此:只允许输入数字的程序代码为:(注意:在限制用户输入非0~9间数字的同时,不应限制用户输入“回车”和“退格”)

    private void txtSum_KeyPress(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar))&&e.KeyChar!=13)
                {
                    MessageBox.Show("只能输入数字","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    e.Handled = true;                
                }
            }

     

    2、限制输入长度及设置密码文本

    (1)限制输入长度:

                  可通过设置TextBox控件的MaxLength属性即可限制最大长度。也可以在Form_Load函数中限制,如:

               private void Form1_Load(object sender, EventArgs e)
            {
                this.textBox1.MaxLength = 6;
                }

                  如果输入字符超过最大长度需要输入提示语言,示例代码为:

           private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                
                    if (textBox1.Text.Length == 6)
                    {
                        MessageBox.Show("用户名只能输入6个字符");
                    }
            }

             限制的最小长度一般需要在信息提交(如点击确定键)时确定,如:

         private void button1_Click(object sender, EventArgs e)
            {
                if (textBox2.Text.Length < 6)
                {
                    MessageBox.Show("用户密码不能低于6位");
                    this.textBox2.Text = "";
                    textBox2.Focus();
                }
            }

    (2)设置密码文本:

        当输入密码时需要显示为“*”或“#”时,只需要设置控件的PasswordChar为“*”或“#”即可。

       也可以在Form_load函数中设置:this.textBox2.PasswordChar = '*';

    3、自动删除非法字符

    主要通过KeyUp事件,KeyValue属性(对应键盘值的ASCII码),Select()方法(选取文本框的文本范围,有两个参数:Start和length),SelectAll()方法,SelectedText属性等实现。

    如:实现只输入1~8,其他字符则自动删除的功能:

    private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                if (e.KeyValue <= 48 || e.KeyValue >= 57)
                {

                    textBox1.Select(0, textBox1.Text.Length - 1 ); //设置文本框中选中的文本
                    textBox1.Text = textBox1.SelectedText;
                    textBox1.SelectAll(); //选择全部文本
                    textBox1.SelectionStart = textBox1.Text.Length;
                    textBox1.Focus(); //获得焦点
                    e.Handled = true;
                }
            }

    也可以通过输入非法字符时忽略该输入实现:

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (!char.IsDigit(e.KeyChar))
                {              

                        e.Handled = true;
                }
            }

     

    4、带记忆功能的文本框(为TextBox控件中添加列表选择框)

    双击文本框显示以前输入过的项:

    (1)、双击实现(可设置两次单击鼠标按钮之间的时间,以确定是否为双击事件)

    private void textBox1_DoubleClick(object sender, EventArgs e)
            {
                if (listBox1.Items.Count != 0)
                {
                    this.listBox1.Visible = true;
                }
            }

    (2)、KeyPress事件

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == 13)
                {
                    if (textBox1.Text.ToString() != "")
                    {
                        this.listBox1.Items.Add(this.textBox1.Text);
                        this.textBox1.Text = "";
                    }
                }
            }

    (3)、当点击listBox中的项时,在textBox中显示该文本

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (listBox1.SelectedItem.ToString() != "")
                {
                    textBox1.Text = listBox1.SelectedItem.ToString();
                    textBox1.SelectionStart = this.textBox1.Text.Length;
                    textBox1.Focus();
                    listBox1.Visible = false;
                }
            }

    展开全文

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
关键字:

c#程序开发范例宝典

c# 订阅