C#初学界面参考小程序

C#初学界面参考小程序

  请18岁以上的转载请注明出处和作者,尊重别人的劳动成果C#初学界面参考小程序
 
小软件下载地址:C#初学界面参考小程序
为了方便新学者,请下载项目学习:(下载要给文章个赞哦!)C#初学界面参考小程序
博客:C#初学界面参考小程序

      1、具有单开线程下载文件,速度不会受影响C#初学界面参考小程序
2、软件小、占资源小,运行简单实用 C#初学界面参考小程序
3、所有基本功能完善,如果有好建议的功能,可指出 C#初学界面参考小程序
4、运行图如下: C#初学界面参考小程序
C#初学界面参考小程序




一、界面1设计与代码 C#初学界面参考小程序
C#初学界面参考小程序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Diagnostics;
using System.Threading;

namespace HttpDownTest
{
      public partial class Form1 : Form
      {
            public Form1()//初始化,自动生成的
            {
                  InitializeComponent();
            }

            private String save_path = "";//保存路径
            private String download_path = "";//下载路径
            private String type = "";
            private Thread thread;//线程
            private int pause = 0;//暂停变量
            private int stop = 0;//停止变量
            private int OKOK = 0;
            private void button1_Click(object sender, EventArgs e)//主要函数
            {
                  OKOK = 1;
                  if (pause == 1)
                  {
                        textBox2.Text = "暂停中!";
                  }
                  else
                  {
                        thread = new Thread(start);//线程对象,下句是线程开始
                        thread.Start();
                  }
            }

            private void start()//开始函数
            {
                  if (textBox1.Text == "")
                  {
                        textBox2.Text = "下载地址为空!";
                        textBox1.Text = " http://dl.wenku.baidu.com/wenku21";   //这里写你默认的下载地址
                        return;
                  }

                  if (textBox3.Text == "")
                  {
                        textBox2.Text = "保存地址为空!";
                        textBox3.Text = "C:\\Users\\dl201507213\\Desktop\\";
                        return;
                  }

                  if (textBox5.Text == "")
                  {
                        textBox2.Text = "保存名字为空!";
                        textBox5.Text = "test";
                        return;
                  }

                  if (textBox6.Text == "")
                  {
                        textBox2.Text = "保存类型为空!";
                        textBox6.Text = "ppt";
                        return;
                  }

                  if (radioButton1.Checked)
                  {
                        type = ".jpg";
                  }
                  else if (radioButton2.Checked)
                  {
                        type = ".docx";
                  }
                  else if (radioButton3.Checked)
                  {
                        type = ".txt";
                  }
                  else
                  {
                        type = "." + textBox6.Text;
                  }

                  save_path = textBox3.Text + textBox5.Text + type;
                  download_path = textBox1.Text;
                  textBox2.Text = "";//上面三句是路径设置

                  System.Net.HttpWebRequest httpWebRequest = null;
                  try
                  {
                        //url获取远程文件流。。。
                        httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(download_path);

                        System.Net.HttpWebResponse httpWebResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse();
                        System.IO.Stream sr = httpWebResponse.GetResponseStream();

                        //创建本地文件写入流。。。
                        System.IO.Stream sw = new System.IO.FileStream(save_path, System.IO.FileMode.Create);

                        long totalDownloadedByte = 0;
                        byte[] by = new byte[102400];//每次读入100K

                        Stopwatch watch = new Stopwatch();
                        watch.Start();//上面两句是用来算时间的

                        int osize = sr.Read(by, 0, (int)by.Length);
                        while ((osize > 0) && (stop == 0))
                        {
                              while ((osize > 0) && (pause == 0) && (stop == 0))
                              {                                                     
                                    textBox7.Text = Convert.ToString(totalDownloadedByte/1024);
                                    totalDownloadedByte = osize + totalDownloadedByte;
                                    sw.Write(by, 0, osize);//下载
                                    osize = sr.Read(by, 0, (int)by.Length);//记取内容缓冲
                                    
                                    System.Threading.Thread.Sleep(1);
                                    textBox4.Text = (Convert.ToString(osize/1024) + " KB/s");      //速度显示
                              }
                              System.Threading.Thread.Sleep(100);
                        }

                        watch.Stop();
                        textBox8.Text = Convert.ToString(watch.ElapsedMilliseconds/1000)+ " s";//算出耗时

                        sw.Close();
                        sr.Close();
                        if (stop == 1)
                        {
                              stop = 0;
                              pause = 0;
                              textBox2.Text = "停止下载!";
                              button4.Text = "暂停";
                        }
                        else 
                        { 
                              textBox2.Text = "下载成功!"; 
                        }                                      
                  }
                  catch (System.Exception)
                  {
                        if (httpWebRequest != null)
                              httpWebRequest.Abort();
                        textBox2.Text = "下载失败!";
                        thread.Abort();
                  }

                  thread.Abort();//关闭线程
            }

            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                  download_path = textBox1.Text;
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                  DateTime current_time = new DateTime();
                  current_time = DateTime.Now;
                  label3.Text = Convert.ToString(current_time);//获得当前系统时间
            }

            private void button2_Click(object sender, EventArgs e)
            {
                  FolderBrowserDialog select_save_path = new FolderBrowserDialog();
                  select_save_path.ShowNewFolderButton = true;//这个用于是否可以新建文件夹

                  select_save_path.Description = "请选择保存路径";
                  select_save_path.ShowDialog();//用默认的对话框。。。

                  textBox3.Text = select_save_path.SelectedPath + "\\";
            }

            private void button4_Click(object sender, EventArgs e)
            {
                  if (pause == 1)
                  {
                        pause = 0;
                        button4.Text = "暂停";
                  }
                  else if (pause == 0)
                  {
                        button4.Text = "继续";
                        pause = 1;
                  }
                  return;
            }

            private void button3_Click(object sender, EventArgs e)
            {
                  Form2 f = new Form2();
                  f.Show();//显示作者信息
            }

            private void button5_Click(object sender, EventArgs e)
            {
                  if (stop == 0) { stop = 1; }
                  else { stop = 0; button5.Text = "停止下载"; }        
            }

            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                  if (OKOK == 1)
                  {
                        thread.Abort();
                        Application.Exit();//关闭右上角的X的时候的处理办法,关闭所以线程
                  }                       
            }
      }
}
 
二、界面2设计与代码 C#初学界面参考小程序
C#初学界面参考小程序
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HttpDownTest
{
      public partial class Form2 : Form
      {
            public Form2()
            {
                  InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                  this.Close();//关闭当前窗口
            }
      }
}
// 可以到文章上面下载事情项目运行,方便学习,记得给个赞哦!亲C#初学界面参考小程序C#初学界面参考小程序C#初学界面参考小程序
第1章 C#编程基础  实例1 Hello C#!  实例2 HeyGuy  实例3 预定义类型  实例4 类型转换  实例5 选择语句  实例6 循环语句  实例7 跳转语句  实例8 数组  实例9 枚举与结构类型  实例10 类  实例11 位运算  实例12 操作符重载  实例13 虚方法  实例14 委托  实例15 属性  实例16 异常处理  实例17 链表  实例18 回文数  实例19 汉诺塔  实例20 冒泡排序  实例21 插入排序  小结 第2章 界面编程  实例22 Hello Form  实例23 主菜单  实例24 上下文菜单  实例25 工具栏  实例26 状态栏  实例27 进度条  实例28 滑块控件  实例29 单选框和复选框  实例30 列表框和组合框  实例31 列表视图  实例32 树视图  实例33 Timer控件  实例34 Splitter控件  实例35 时钟控件和日历控件  实例36 MDI窗口  实例37 窗体继承  实例38 自制控件  实例39 使用自制控件  实例40 模式与非模式  实例41 会跑的按钮  实例42 绘制背景  实例43 可调窗口  实例44 托动窗体  实例45 电子便条  实例46 计算器界面设计  实例47 计算器功能实现  实例48 小闹钟  小结 第3章 图形与图像处理  实例49 简单画图  实例50 使用OnPaint绘制图形  实例51 绘制贝赛尔曲线  实例52 显示图像  实例53 消除图片背景  实例54 底片滤镜  实例55 浮雕效果  实例56 显示字体  实例57 特效字  实例58 旋转图片  实例59 打印  小结 第4章 线程 第5章 文件处理和系统操作 第6章 数据库编程 第7章 网络编程 第8章 Web应用程序的开发 第9章 多媒体 第10章 安全性 第11章 设计模式 第12章 杂例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值