نمونه برنامه های مفید و کاربردی در سی شارپ
سلام
یک سری سورس های کوچک ولی کاربردی رو توی این تاپیک قرار میدیم تا دوستان بتونن استفاده کنن و اگر درخواست کد خاصی رو دارن می تونن توی تاپیک تخصصی #Visual C بنویسن تا کد رو براشون بذاریم
موفق باشید
کلاسي كه به وسيله متدهاي آن مي توانيد مشخصاتي از بازديدكنندگان و كاربران دست يابيد
متدهاي اين كلاس عبارتند از:
1) متد برگرداندن IP كاربر
2) متد برگرداندن صفحه جاري بازديدكننده
3) متد تعيين صفحه قبلي بازديدكننده
4) مشخصات مرورگر بازديدكننده
5) تعيين نام سيستم عامل بازديدكننده
6) تعيين نام ماشين بازديدكننده
با توجه به اينكه بسياري از دوستان با ارسال ايميل مشكل دارند كلاسي كه قادر به ارسال ايميل مي باشد را قرار داده ام
متدهاي ان عبارتند از :
1) متد بررسي صحت ايميل وارد شده
2) متد تصحيح متن ايميل به فرمت صحيح
3) متد ارسال ايميل
public void Get_Drives_name()
{
string[] drv = Environment.GetLogicalDrives();
string str = "";
foreach (string s in drv)
{
str += s + "\n";
}
MessageBox.Show(str);
}
using System.Text.RegularExpressions;
------------------------
public bool TestEmailRegex(string emailAddress)
{
string patternStrict = @"^(([^<>()[\]\\.,;:\s@\""]+"
+ @"(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@"
+ @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
+ @"\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+"
+ @"[a-zA-Z]{2,}))$";
Regex reStrict = new Regex(patternStrict);
bool isStrictMatch = reStrict.IsMatch(emailAddress);
return isStrictMatch;
}
using System.Net;
public string ConvertIP2HostName(string ip)
{
IPHostEntry iphost = Dns.GetHostEntry(ip);
return iphost.HostName;
}
public string HostNameToIP(string hostName)
{
IPHostEntry iphost = System.Net.Dns.GetHostEntry(hostName);
IPAddress[] addresses = iphost.AddressList;
StringBuilder addressList = new StringBuilder();
foreach (IPAddress address in addresses)
{
addressList.AppendFormat("IP Address: {0};", address.ToString());
}
return addressList.ToString();
}
using System.Management;
public double getHDDSize(string drive)
{
//check to see if the user provided a drive letter
//if not default it to "C"
if (drive == "" || drive == null)
{
drive = "C";
}
//create our ManagementObject, passing it the drive letter to the
//DevideID using WQL
ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");
//bind our management object
disk.Get();
//return the HDD's initial size
return Convert.ToDouble(disk["Size"]);
}
using System.Management;
public double getHDDSize(string drive)
{
//check to see if the user provided a drive letter
//if not default it to "C"
if (drive == "" || drive == null)
{
drive = "C";
}
//create our ManagementObject, passing it the drive letter to the
//DevideID using WQL
ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");
//bind our management object
disk.Get();
//return the HDD's initial size
return Convert.ToDouble(disk["Size"]);
}
using System.Management;
public double getHDDSize(string drive)
{
//check to see if the user provided a drive letter
//if not default it to "C"
if (drive == "" || drive == null)
{
drive = "C";
}
//create our ManagementObject, passing it the drive letter to the
//DevideID using WQL
ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");
//bind our management object
disk.Get();
//return the HDD's initial size
return Convert.ToDouble(disk["Size"]);
}
string s;
foreach (InputLanguage Language in InputLanguage.InstalledInputLanguages)
{
s = Language.LayoutName;
listBox1.Items.Add(s);
}
using System.Threading;
متد Main از کلاس StartUp پروژه رو به این شکل تغییر بدید :
[STAThread]
static void Main()
{
bool ok;
Mutex m = new Mutex(true, "YourNameHere", out ok);
if (! ok)
{
MessageBox.Show("Another instance is already running.");
return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1()); // or whatever was there
GC.KeepAlive(m); // important!
}
private void Form1_Load(object sender, EventArgs e)
{
ToolTip toolTip = new ToolTip();
toolTip.SetToolTip(button1, "Salam");
}
private void Form1_Load(object sender, EventArgs e)
{
NotifyIcon notify = new NotifyIcon();
notify.Icon = this.Icon;
notify.Visible = true;
// duration of show baloon as milisecond
int n = 3000;
// show baloon
notify.ShowBalloonTip(n, "Hi", "Salam Donya!", ToolTipIcon.Info);
//set an event handler
notify.MouseClick += new MouseEventHandler(notify_MouseClick);
}
void notify_MouseClick(object sender, MouseEventArgs e)
{
MessageBox.Show("man click shodam!");
}
در صورتیکه مقدار بازگردانده شده از این تابع IsConnectedToInternet برابر true باشد ، سیستم به اینترنت متصل است
using System.Runtime.InteropServices;
//بررسی اتصال به اینترنت
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);
//Creating a function that uses the API function...
bool IsConnectedToInternet()
{
bool a;
int Desc;
a=InternetGetConnectedState(out Desc, 0);
return a;
}
در این مثال طریقه استفاده از کنترل TreeView به طور کاملا ساده و روان شرح داده شده است .
برای استفاده های عملی تر باید این فرایند در حلقه های تودرتو و بر حسب نیاز پیاده سازی شود.
نکته : این روش فقط در C# ( سی شارپ ) کاربرد دارد و برای استفاده در Asp.net باید تغییرات کوچکی را اعمال کنید.
//Clear Old Node's[reeView1.Nodes.Clear();
//Creat New Root Node
TreeNode tn = new TreeNode("new Node1");
//Creat Chid Node's
tn.Nodes.Add("Node1 Node1");
tn.Nodes.Add("Node1 Node2");
tn.Nodes.Add("Node1 Node3");
//Add Child Node's To TreeView
treeView1.Nodes.Add(tn);
//Creat New Root Node
TreeNode tn2 = new TreeNode("new Node2");
//Creat Chid Node's
tn2.Nodes.Add("Node2 Node1");
tn2.Nodes.Add("Node2 Node2");
//Creat New RootNode of Tn2
TreeNode tn3 = new TreeNode("Node2 Node3");
//Add Child's node to Node2 Node3
tn3.Nodes.Add("Node2 Node3 Node1");
tn3.Nodes.Add("Node2 Node3 Node2");
//Add New Root Node to Tn2
tn2.Nodes.Add(tn3);
//Add New Node To TreeView
treeView1.Nodes.Add(tn2