Trang chủ » CSharp » CSharp Kinh nghiệm và Thủ thuật

CSharp Kinh nghiệm và Thủ thuật


 

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

đầu tiên phải add reference Microsoft.VisualBasic từ solution explorer

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 hiện tại
ulong max = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;// lấy dung lượng tổng cộng của các thanh RAM 

 

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

Bitmap b = new Bitmap("1.jpeg");            
            IntPtr ptr = b.GetHicon();
            Cursor c = new Cursor(ptr);
            this.Cursor = c;

3. sắp xếp listview theo cột ( khi bấm vào cột)

đầu tiên tạo 1 class listviewsort

 

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 khi so sánh.
                // Nếu chuyển đổi thất bại, sử dụng giá trị 0.
                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
                // và thực hiện so sánh theo thứ tự alphabetic.
                string listXText = listX.SubItems[Column].Text;
                string listYText = listY.SubItems[Column].Text;
                return String.Compare(listXText, listYText);
            }
        }
    }
}

trong code form chính : bạn add class trên vào, nhớ thay đổi namespace của nó thành namespace của form chính

 

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            ListViewItemComparer sorter = new ListViewItemComparer(e.Column);
            listView1.ListViewItemSorter = sorter;
            listView1.Sort();
        }

4. Mở một cây trong registry ra để đọc

ví dụ sau : tìm tất cả các chuơng trình startup cùng window

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);
        }
    }
}

Advertisements

Bình luận

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s