Showing posts with label Code. Show all posts

Tạo Form Download bằng C# | Form tải về


Form Download
Demo: https://www.dropbox.com/s/2gdx3xb93fqbtzv/DownLoadBangC%23-thuvienwinform.rar

Để thực hiện công việc này ta phải sử dụng đến thư viện System.Net; -> hỗ trợ toàn bộ các bạn .NET
Cú pháp như sau:


WebClient Wc = new WebClient();//Khai báo biến webclient để thực hiện tải về
Uri FileUrl = new Uri(txtUrl.Text.Trim());//Uri để tạo đầu vào cho Wc tải về, Trim để xóa kí tự rỗng ở 2 đầu
Wc.DownloadFileAsync(FileUrl, txtSaveFile.Text);//Bắt đầu tải về Cú pháp: TênBiếnWebclient.DownloadFileAsync(Uri chứa đường dẫn tải về, Địa điểm lưu file)

Code chương trình:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;//thư viện cần thiết để tạo download

namespace DownLoad
{
    public partial class Form1 : Form
    {
        string FileSave;//biến chứa đường dẫn lưu files
        WebClient Wc = new WebClient();//Khai báo biến webclient để thực hiện tải về
        public Form1()
        {
            InitializeComponent();
        }

        private void Save_File()//chọn đường dẫn lưu file
        {
            SaveFileDialog saveDial = new SaveFileDialog();//Hộp thoại tạo file lưu trữ
            saveDial.Title = "Lưu file";//tên hộp thoại
            saveDial.Filter = "Tất cả|*.*";//Định dạnh file lưu
            if (saveDial.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)//Nếu không ấn hủy thì sẽ lấy đường dẫn lưu file
                FileSave = saveDial.FileName;//Lấy đường dẫn để lưu file
            txtSaveFile.Text = FileSave;//Xuất đường dẫn ra textbox
        }

        private void btBrower_Click(object sender, EventArgs e)//Sự kiện ấn nút chọn đường dẫn lưu file
        {
            Save_File();
        }

        private void btStartDownLoad_Click(object sender, EventArgs e)
        {
            Wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(Wc_DownloadProgressChange);//Hiển thị phần trăm tải về bằng progressBar
            Uri FileUrl = new Uri(txtUrl.Text.Trim());//Uri để tạo đầu vào cho Wc tải về, Trim để xóa kí tự rỗng ở 2 đầu
            if (txtSaveFile.Text == "" || txtSaveFile.Text == null)//Nếu chưa chọn đường dẫn để lưu thì phải chọn xong mới tải
                Save_File();
            else//Nếu đã chọn đường dẫn lưu file thì bắt đầu tải
                Wc.DownloadFileAsync(FileUrl, txtSaveFile.Text);//Bắt đầu tải về Cú pháp: TênBiếnWebclient.DownloadFileAsync(Uri chứa đường dẫn tải về, Địa điểm lưu file)
        }

        void Wc_DownloadProgressChange(object sender, DownloadProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage;//Gán phần trăm tải về vào ProgressBar
            lbPercent.Text = progressBar1.Value.ToString() + "%";
        }
    }
}
ấn F5 -> điền dữ liệu vào form và ấn bắt đầu:
VD:
+ Đường dẫn: https://lh5.googleusercontent.com/-4KAQJWN3Zl8/Ulo8Bj6G3EI/AAAAAAAAACc/uwklKtW1GHA/w499-h300-no/Microsoft-Visual-Studio-2012.png
+ Lưu vào: D:\a.png


10/26/2013
Đăng bởi :
Nhãn :

Lấy kích cỡ của 1 file bằng C#

Để lấy kích cỡ của 1 file ta dùng code sau:

FileInfo f_info = new FileInfo("Đường dẫn file");
int FileLength = f_info.Length;//ĐƠn vị Byte
Ví dụ:
FileInfo f_info = new FileInfo("C:\\a.png");
int FileLength = f_info.Length;//biến FileLength sẽ chứa kích thước của file

Với code này ta cũng có thể tính được kích cỡ của Folder bằng cách tính tổng kích thước các file, nhưng nếu trong folder mà lại có folder nữa thì sẽ bị sai
10/23/2013
Đăng bởi :
Nhãn :

Lấy Icon của file, thư mục bằng C#


Hướng dẫn lấy Icon của file, thư mục xuất ra listview
Demo: https://www.dropbox.com/s/s3q3lrrfhdygvci/LayIconFile-thuvienwinform.rar

Bước 1: Tạo 1 project
Bước 2: Tạo 1 Class với code sau: (chú ý thay tên project của bạn vào nhé)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;//
namespace tên_project_của_bạn
{
    [StructLayout(LayoutKind.Sequential)]
    public struct SHFILEINFO
    {
        public IntPtr hIcon;
        public IntPtr iIcon;
        public uint dwAttributes;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
        public string szDisplayName;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
        public string szTypeName;
    };
    class SpyIcon
    {
        public const uint SHGFI_ICON = 0x100;
        public const uint SHGFI_LARGEICON = 0x0;    // 'Large icon
        public const uint SHGFI_SMALLICON = 0x1;    // 'Small icon

        [DllImport("shell32.dll")]
        public static extern IntPtr SHGetFileInfo(string pszPath,
                                    uint dwFileAttributes,
                                    ref SHFILEINFO psfi,
                                    uint cbSizeFileInfo,
                                    uint uFlags);
        public static System.Drawing.Icon GetIcon(string path)
        {
            SHFILEINFO sinfo = new SHFILEINFO();
            IntPtr iconHwnd = SHGetFileInfo(path, 0, ref sinfo, (uint)Marshal.SizeOf(sinfo), SHGFI_ICON | SHGFI_LARGEICON | SHGFI_SMALLICON);
            return System.Drawing.Icon.FromHandle(sinfo.hIcon);
        }
    }
}

Bước 3: Form chính như sau: (chú ý cài đặt trong các khung đỏ)




Bước 4: Code cho Form chính:


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

namespace LayIconFile
{
    public partial class Form1 : Form
    {
        int k = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void listView1_DragOver(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;//hiệu ứng con chuột
        }

        private void listView1_DragDrop(object sender, DragEventArgs e)
        {
            string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);//Lấy những đường dẫn file được kéo vào
            string fi;
            foreach (string filename in files)
            {
                imageList1.Images.Add(k.ToString(), SpyIcon.GetIcon(filename)); //Thêm icon cho imagelist
                fi = filename.Substring(Directory.GetParent(filename).ToString().Length + 1);//Lấy tên file
                //imageList1.Images.Add(i.ToString(), Image.FromFile(files[i])); //Cách 2
                ListViewItem item = new ListViewItem(fi, k);//Tạo item mới
                item.Tag = filename;//Đánh dấu đường dẫn file cho item
                listView1.Items.Add(item);//Thêm item vào listview
                k++;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Icon ic = SpyIcon.GetIcon(@"D:\isic.jpg");
            Bitmap bit = ic.ToBitmap();
            bit.Save(@"C:\icon.ico", System.Drawing.Imaging.ImageFormat.Icon);
        }

        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(listView1.SelectedItems[0].Tag.ToString());
            textBox1.Text = listView1.SelectedItems[0].Tag.ToString();
        }
    }
}

Bước 5: ấn F5 rồi kéo thả vào xem sao
10/22/2013
Đăng bởi :
Nhãn :

Lấy tạo độ của con chuột trên form

Để thực hiện công viện này ta sử bắt sự kiện Mouse Move của Form.

Giá trị trả về của sự kiện là: e.X tọa độ x, e.Y: tọa độ y

ứng dụng có thể kết hợp draw để tạo thêm chút hiệu ứng

Lấy tọa độ của Form: https://www.dropbox.com/s/fck3n5srv9ibzs5/LayToaDoCuaChuotTrongFrom-thuvienwinform.rar

Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//
//
// Chú ý: ở properties của form chọn DoubleBuffered là true để đỡ lag!
//
//

namespace LayToaDoCuaChuotTrongFrom
{
    public partial class Form1 : Form
    {
        Graphics paper;
        Pen pen = new Pen(Color.Brown);
        Point p = new Point();
        public Form1()
        {
            InitializeComponent();
        }

        private void DrawLine(Graphics paper)
        {
            paper.DrawLine(pen, new Point(0, 0), p);
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            textBox1.Text = e.X.ToString();
            textBox2.Text = e.Y.ToString();

            label1.Text = e.X.ToString();
            label2.Text = e.Y.ToString();

            label1.Location = new Point(e.X - 10, e.Y + 10);
            label2.Location = new Point(e.X + 10, e.Y - 10);

            p.X = e.X;
            p.Y = e.Y;

            this.Invalidate(); //Vẽ lại các phần tử             
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            paper = e.Graphics;
            DrawLine(paper);
        }
    }
}

10/15/2013
Đăng bởi :
Nhãn :

Hàm Random() lấy số ngẫu nhiên trong C#

Để lấy một số ngẫu nhiên ta dùng lớp Random()

Cú pháp:

Random TenBienRanDom = new Random();
TenBienRandom.Next(GiaTriDau, GiaTriCuoi);//Trả về giá trị kiểu int

Ví dụ:

int Numrd;
string Numrd_str;
Random rd = new Random();
Numrd = rd.Next(1, 100);//biến Numrd sẽ nhận có giá trị ngẫu nhiên trong khoảng 1 đến 100
Numrd_str = rd.Next(1, 100).ToString();//Chuyển giá trị ramdon về kiểu string

Ứng dụng:
- Lấy ngẫu nhiêu một chữ trong bảng chữ cái:

Random rd = new Random();
string TextRd;
TextRd = Convert.ToString((char)rd.Next(65, 90));//Chư in hoa. Chữ thường: TextRd = Convert.ToString((char)rd.Next(97, 122));
Đăng bởi :
Nhãn :

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -