Một số thủ thuật C# ppt

41 511 2
Một số thủ thuật C# ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Một số thủ thuật C# Nguồn: codeprovn.com, web, google.com Sưu tầm: GHC_ Menu Cách lấy dung lượng Ram .3 Thay đổi trỏ chuột image 3 Sắp xếp Listview theo cột Mở Registry để đọc 5 Duyệt nhanh điều khiển (control) form 6 Tạo hình dáng form tử file ảnh Ngăn không cho dán vào textbox Lấy code trang web .7 Giải phóng nhanh thành phần COM 10 Lấy IP Client từ kết nối Socket 11 Lấy % cpu 10 12 Lấy bitmap form .10 13 Tắt máy tính 10 14 Đưa liệu váo Dataset 11 15 Lưu ảnh vào CSDL 11 16 Phần mềm nghe nhạc, sử dụng API .11 17 Đóng ổ CDRom 15 18 Gửi mail SMTP .15 19 Đọc tên file ẩn folder 15 20 Viết hoa ký tự đầu .16 21 Làm X-Buttom lúc thực thi 16 22 Không cho debug hàm 17 23 Cấm user di chuyển form 17 24 Cố định vị trí form .17 25 Hiển thị hình ảnh RichTextBox .18 26 Vẽ bóng đổ cho control 19 27 Làm mờ dần form close .19 28 Vẽ vời linh tinh lên from 19 29 Kéo thả DataGirdview .20 30 Làm form rung giốn buzz 20 31 Xóa rỗng thùng rác 20 32 Mã hóa string thuật toán MD5 21 33 Thực lệnh sau khoảng thời gian 21 34 Ẩn form load .22 35 Export file Excel từ mảng 22 36 Lấy tên table Access 23 37 Bật chức Hibernate 23 38 Chạy chương trình từ chương trình .23 39 Tạo form có hình dạng 24 40 Thay đổi độ suốt form .25 41 Thay đổi định dạng float, double 26 42 Tạo label hình trịn 27 43 Chặn nhập text box 28 44 Đa ngôn ngữ .29 45 Phân biệt chữ hoa chữ thường SQL 32 46 Transaction SQL 33 47 Đọc số thành chữ .34 48 Định dạng chuỗi .37 49 Reset cột tự tăng sql .39 50 Select latest index .39 51 Kết nối Asp.net Configuration 39 Cách lấy dung lượng Ram using Microsoft.VisualBasic; var ram = new PerformanceCounter("Memory", "Available MBytes"); float cur = ram.NextValue(); // lấy dung lượng RAM free thời điểm ulong max = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;// lấy dung lượng tổng cộng RAM menu Thay đổi trỏ chuột image Bitmap b = new Bitmap("1.jpeg"); IntPtr ptr = b.GetHicon(); Cursor c = new Cursor(ptr); this.Cursor = c; menu Sắp xếp Listview theo cột using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Windows.Forms; namespace Media_Players { public class ListViewItemComparer : IComparer { private int column; private bool numeric = false; public int Column { get { return column; }set { column = value; } } public bool Numeric { get { return numeric; }set { numeric = value; } } public ListViewItemComparer(int columnIndex) { Column = columnIndex; } public int Compare(object x, object y) { ListViewItem listX = (ListViewItem)x; ListViewItem listY = (ListViewItem)y; if (Numeric) { // Chuyển text thành số trước so sánh // Nếu chuyển đổi thất bại, sử dụng giá trị decimal listXVal, listYVal; try { listXVal = Decimal.Parse(listX.SubItems[Column].Text); } catch { listXVal = 0; } try { listYVal = Decimal.Parse(listY.SubItems[Column].Text); } catch { listYVal = 0; } return Decimal.Compare(listXVal, listYVal); } else { // Giữ nguyên text định dạng chuỗi // thực so sánh theo thứ tự alphabetic string listXText = listX.SubItems[Column].Text; string listYText = listY.SubItems[Column].Text; } } return String.Compare(listXText, listYText); } } private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) { ListViewItemComparer sorter = new ListViewItemComparer(e.Column); listView1.ListViewItemSorter = sorter; listView1.Sort(); } menu Mở Registry để đọ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.Diagnostics; using Microsoft.Win32; namespace registry { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { RegistryKey rg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); string[]s=rg.GetValueNames(); foreach(string ex in s) { adone(ex,rg.GetValue(ex).ToString(),listView1); } } private void adone(String name, String path,ListView l) { int n = l.Items.Count; l.Items.Add(n.ToString()); l.Items[n].SubItems.Add(name); l.Items[n].SubItems.Add(path); } } } menu Duyệt nhanh điều khiển (control) form private void ClearForm(Control ctr) { if (ctr.GetType()==typeof(TextBox)) { ctr.Text = ""; } // Duyệt đệ quy foreach (Control childCtr in ctr.Controls) { ClearForm(childCtr); } } menu Tạo hình dáng form tử file ảnh Cách 1: public static Region BitmapToRegion(Bitmap bitmap, Color transparencyColor) { if (bitmap == null) throw new ArgumentNullException("Bitmap", Strings.BitmapCannotBeNull); int height = bitmap.Height; int width = bitmap.Width; GraphicsPath path = new GraphicsPath(); for (int j=0; j Keys.D9) if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9 ) if (e.KeyCode != Keys.Back) laSo = false; } private void txtNhap_KeyPress(object sender, KeyPressEventArgs e) { if (!laSo) e.Handled = true; } Với code chặn Ctrl +V, right click paste dính chuỗi menu 44 Đa ngơn ngữ Khi thiết kế cửa sổ, sử dụng ngôn ngữ ngầm định tiếng Anh Để thêm giao diện tiếng việt cho cửa sổ, đặt thuộc tính Language cửa sổ Vietnamese, Localizable True Sau đặt thuộc tính trên, cửa sổ thiết kế trơng khơng có thay đổi, thực Form Designer tạo giao diện dựa giao diện có Sửa đổi tồn giao diện cửa sổ sang tiếng Việt Thêm mục Setting cho ngôn ngữ Để chuyển đổi ngôn ngữ, chương trình cần phải khởi động lại nên cần lưu lại ngôn ngữ chọn lần chạy trước Thêm vào Settings mục kiểu string, tên Language, giá trị ngầm định en-US Thêm lệnh chuyển đổi ngôn ngữ hiển thị Lệnh chuyển đổi ngôn ngữ phải thực trước cửa sổ tạo Mở tệp Program.cs sửa lại phương thức Main sau: Xử lý kiện Click với hai mục English Vietnamese trình đơn: Đến đây, chương trình chuyển đổi ngơn ngữ chạy Để ngơn ngữ lựa chọn hiển thị được, cần phải khởi động lại chương trình sau chọn Chuyển đổi ngôn ngữ thông báo dùng MessageBox Để chuyển đổi ngơn ngữ thông báo dùng MessageBox, xâu ký tự cần phải đặt tệp tài nguyên * Thêm vào dự án Resources File đặt tên Resources.vi.resx * Kéo tệp vừa thêm thả vào mục Properties dự án Tệp Resources.resx dùng để chứa xâu ký tự ngôn ngữ ngầm định, tệp Resources.vi.resx dùng để chứa xâu ký tự theo ngôn ngữ Tiếng Việt Thêm vào tệp Resources xâu ký tự, hai ngôn ngữ: Các xâu ký tự ngôn ngữ ngầm định Các xâu ký tự Tiếng Việt Khi đưa thông báo, truy cập xâu ký tự thơng qua lớp Properties.Resources Ví dụ, để thơng báo u cầu khởi động lại chương trình sau chuyển ngôn ngữ, sửa đổi phương thức xử lý kiện sau: menu 45 Phân biệt chữ hoa chữ thường SQL CREATE procedure sp_AuthenticateUser @username varchar(200), @password varchar(50) As BEGIN TRANSACTION IF EXISTS (SELECT FROM dbo.TableName WHERE username = @username COLLATE SQL_Latin1_General_CP1_CS_AS AND Password = @ password COLLATE SQL_Latin1_General_CP1_CS_AS) BEGIN Print 'Success' // Do your database queries here END ELSE BEGIN Print 'Unsuccessful' END IF @@Error 0 BEGIN ROLLBACK TRANSACTION RETURN (1) END ELSE BEGIN COMMIT TRANSACTION RETURN (0) END GO menu 46 Transaction SQL thêm sản phẩm vào phiếu nhập kho -CREATE PROCEDURE THEM_SAN_PHAM_VAO_PHIEU_NHAP_KHO SAN PHAM @MASP CHAR(17),@HINHTHUC NVARCHAR(100),@LOAI NVARCHAR(100) ,@TEN NVARCHAR(100),@GIATRI NVARCHAR(20),@SOLUONG INT ,@DVT NVARCHAR(100),@TINHTRANG_S INT,@NCC NVARCHAR(100) ,@BAOHANH DATETIME,@MOTA_S NVARCHAR(200) PHIEU NHAP KHO ,@MAP CHAR(16),@TINHTRANG_P BIT ,@NGAYLAP DATETIME,@NGUOILAP NVARCHAR(20) ,@NGUOIGIAO NVARCHAR(100),@MOTA_P NVARCHAR(100) ,@CHUNGTU NVARCHAR(200) SAN PHAM NHAP KHO ,@NGUOINHAP NVARCHAR(20),@NGAYNHAP DATETIME AS BEGIN BEGIN TRY BEGIN TRANSACTION THEM_SAN_PHAM THEM SAN PHAM kiểm tra số lượng nhập IF(@SOLUONG 0) { so = SoTien; } else { so = -SoTien; } //Kiểm tra số lớn if (SoTien > 8999999999999999) { SoTien = 0; return ""; } ViTri[5] = (int)(so / 1000000000000000); so = so - long.Parse(ViTri[5].ToString()) * 1000000000000000; ViTri[4] = (int)(so / 1000000000000); so = so - long.Parse(ViTri[4].ToString()) * +1000000000000; ViTri[3] = (int)(so / 1000000000); so = so - long.Parse(ViTri[3].ToString()) * 1000000000; ViTri[2] = (int)(so / 1000000); ViTri[1] = (int)((so % 1000000) / 1000); ViTri[0] = (int)(so % 1000); if (ViTri[5] > 0) { lan = 5; } else if (ViTri[4] > 0) { lan = 4; } else if (ViTri[3] > 0) { lan = 3; } else if (ViTri[2] > 0) { lan = 2; } else if (ViTri[1] > 0) { lan = 1; } else { lan = 0; } for (i = lan; i >= 0; i ) { tmp = DocSo3ChuSo(ViTri[i]); KetQua += tmp; if (ViTri[i] != 0) KetQua += Tien[i]; if ((i > 0) && (!string.IsNullOrEmpty(tmp))) KetQua += ",";//&& (!string.IsNullOrEmpty(tmp)) } if (KetQua.Substring(KetQua.Length - 1, 1) == ",") KetQua = KetQua.Substring(0, KetQua.Length - 1); KetQua = KetQua.Trim() + strTail; return KetQua.Substring(0, 1).ToUpper() + KetQua.Substring(1); } // Hàm đọc số có chữ số private string DocSo3ChuSo(int baso) { int tram, chuc, donvi; string KetQua = ""; tram = (int)(baso / 100); chuc = (int)((baso % 100) / 10); donvi = baso % 10; if ((tram == 0) && (chuc == 0) && (donvi == 0)) return ""; if (tram != 0) { KetQua += ChuSo[tram] + " trăm"; if ((chuc == 0) && (donvi != 0)) KetQua += " linh"; } if ((chuc != 0) && (chuc != 1)) { KetQua += ChuSo[chuc] + " mươi"; if ((chuc == 0) && (donvi != 0)) KetQua = KetQua + " linh"; } if (chuc == 1) KetQua += " mười"; switch (donvi)| { case 1: if ((chuc != 0) && (chuc != 1)) { KetQua += " mốt"; } else { KetQua += ChuSo[donvi]; } break; case 5: if (chuc == 0) { KetQua += ChuSo[donvi]; } else { KetQua += " lăm"; } break; default: if (donvi != 0) { KetQua += ChuSo[donvi]; } break; } } } return KetQua; } menu 48 Định dạng chuỗi Để định dạng số, ta sử dụng pattern Ở ví dụ này, định dạng số sang kiểu chuỗi với chữ số sau dấu chấm pattern “0.00″ // just two decimal places String.Format(“{0:0.00}”, 123.4567); // “123.46″ String.Format(“{0:0.00}”, 123.4); // “123.40″ String.Format(“{0:0.00}”, 123.0); // “123.00″ Với pattern “0.##”, có tối đa chữ số sau dấu “.” khơng thêm số số ban đầu có chữ số sau dấu chấm thập phân // max two decimal places String.Format(“{0:0.##}”, 123.4567); // “123.46″ String.Format(“{0:0.##}”, 123.4); // “123.4″ String.Format(“{0:0.##}”, 123.0); // “123″ Định dạng số trước dấu chấm thập phân Nếu bạn muốn có chữ số trước dấu chấm thập phân, sử dụng pattern “00.0″ Có số trước dấu chấm thập phân kết có nhiêu chữ số trước dấu “.” // at least two digits before decimal point String.Format(“{0:00.0}”, 123.4567); // “123.5″ String.Format(“{0:00.0}”, 23.4567); // “23.5″ String.Format(“{0:00.0}”, 3.4567); // “03.5″ String.Format(“{0:00.0}”, -3.4567); // “-03.5″ Định dạng dấu phẩy cho số hàng nghìn Để format số theo kiểu 20,000,000 bạn sử dụng số dấu phẩy chúng ví dụ “0,0.0″ String.Format(“{0:0,0.0}”, 12345.67); // “12,345.7″ String.Format(“{0:0,0}”, 12345.67); // “12,346″ Zero Có cách định dạng số khoảng – Ví dụ 0.5 (có số trước dầu chấm khơng có) Ví dụ minh họa trường hợp này: String.Format(“{0:0.0}”, 0.0); // “0.0″ String.Format(“{0:0.#}”, 0.0); // “0″ String.Format(“{0:#.0}”, 0.0); // “.0″ String.Format(“{0:#.#}”, 0.0); // “” Định dạng lề cho số Bằng patterns, bạn lề trái hay phải cho số Xem ví dụ dưới: String.Format(“{0,10:0.0}”, 123.4567); // ” 123.5″ String.Format(“{0,-10:0.0}”, 123.4567); // “123.5 ” String.Format(“{0,10:0.0}”, -123.4567); // ” -123.5″ String.Format(“{0,-10:0.0}”, -123.4567); // “-123.5 “ Định dạng số âm zero Có thể chia pattern phần dấu “;” phần thứ định dạng số dượng, phần thứ cho số âm, phần thứ cho số Ví dụ: String.Format(“{0:0.00;âm 0.00;zero}”, 123.4567); // “123.46″ String.Format(“{0:0.00;âm 0.00;zero}”, -123.4567); // “âm 123.46″ String.Format(“{0:0.00;âm 0.00;zero}”, 0.0); // “zero” Vài ví dụ vui String.Format(“{0:my number is 0.0}”, 12.3); // “my number is 12.3″ String.Format(“{0:0aaa.bbb0}”, 12.3); // “12aaa.bbb3″ Định dạng tiền tệ Qua viết định dạng chuỗi cho kiểu số trên, bạn hẳn biết cách để format liệu kiểu số theo ý muốn chứ? Rất đơn giản, bạn cần dùng: String.Format(“{0:0,0 vnđ}”, 20000000) –> kết 20,000,000 vnđ Specifier DateTimeFormatInfo property Pattern value (for en-US culture) t ShortTimePattern h:mm tt d ShortDatePattern M/d/yyyy T LongTimePattern h:mm:ss tt D LongDatePattern dddd, MMMM dd, yyyy f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt g (combination of d and t) M/d/yyyy h:mm tt G (combination of d and T) M/d/yyyy h:mm:ss tt m, M MonthDayPattern MMMM dd y, Y YearMonthPattern MMMM, yyyy r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*) s SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*) u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*) (*) = culture independent Datetime: dd/mm/yyyy Format In regular Expression (optional mm,optional dd) ([1-9]|0[1-9]|[12][0-9]|3[01])[- /.]([1-9]|0[1-9]|1[012])[- /.][0-9]{4}$ mm/dd/yyyy (optional mm,optional dd) ^([1-9]|0[1-9]|1[012])[- /.]([1-9]|0[1-9]|[12][0-9]|3[01])[- /.][0-9]{4}$ mm/dd/yyyy (Exact Format) ^([01]\d)/([0-3]\d)/(\d{4})$ menu 49 Reset cột tự tăng sql DBCC CHECKIDENT ('dbo.TableName', RESEED, 0) menu 50 Select latest index SELECT @@IDENTITY SELECT SCOPE_IDENTITY() SELECT IDENT_CURRENT(‘tablename’) menu 51 Kết nối Asp.net Configuration Thay đổi web.config 14 15 16 17 18 19 21 22 23 24 25 26 28 29 30 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe menu ... thức định dạng số kiểu fload sang kiểu ký tự CS cách sử dụng hàm static lớp String String.Format Số sau dấu chấm Ví dụ định dạng chuyển đổi số double sang string với kết thú chữ số thập phân đằng... String.Format(“{0:0.00}”, 123.0); // “123.00″ Với pattern “0.##”, có tối đa chữ số sau dấu “.” không thêm số số ban đầu có chữ số sau dấu chấm thập phân // max two decimal places String.Format(“{0:0.##}”,... 123.0); // “123″ Định dạng số trước dấu chấm thập phân Nếu bạn muốn có chữ số trước dấu chấm thập phân, sử dụng pattern “00.0″ Có số trước dấu chấm thập phân kết có nhiêu chữ số trước dấu “.” // at

Ngày đăng: 09/08/2014, 01:24

Mục lục

  • 1. Cách lấy dung lượng Ram

  • 2. Thay đổi con trỏ chuột bằng 1 image bất kỳ

  • 3. Sắp xếp Listview theo cột

  • 4. Mở một cây Registry để đọc

  • 5. Duyệt nhanh một điều khiển (control) trên form

  • 6. Tạo hình dáng form tử 1 file ảnh

  • 7. Ngăn không cho dán vào một textbox

  • 8. Lấy code của một trang web

  • 9. Giải phóng nhanh thành phần COM

  • 10. Lấy IP của Client từ kết nối Socket

  • 12. Lấy bitmap của 1 form

  • 14. Đưa dữ liệu váo Dataset

  • 15. Lưu ảnh vào CSDL

  • 16. Phần mềm nghe nhạc, sử dụng API

  • 17. Đóng ở ổ CDRom

  • 18. Gửi mail bằng SMTP

  • 19. Đọc tên file ẩn trong 1 folder

  • 20. Viết hoa ký tự đầu

  • 21. Làm mất X-Buttom trong lúc thực thi

  • 22. Không cho debug 1 hàm nào đó

Tài liệu cùng người dùng

Tài liệu liên quan