صفحه 2 از 14 اولاول 123412 ... آخرآخر
نمایش نتایج 41 تا 80 از 533

نام تاپیک: 1001 نکته در سی شارپ

  1. #41

    Cool یافتن شماره سریال و مدل تمامی هارددیسکهای موجود در یک سیستم

    ابتدا System.Management رو به References پروژه بیفزایید و سپس :
    using System.Management;

    private void GetHDDSerialNumber()
    {
    ManagementObjectSearcher searcher;
    string query1 = "SELECT * FROM Win32_DiskDrive";
    string query2 = "SELECT * FROM Win32_PhysicalMedia";

    searcher = new ManagementObjectSearcher(query1);
    foreach (ManagementObject wmi_HD in searcher.Get())
    if (wmi_HD["Model"] != null)
    MessageBox.Show(wmi_HD["Model"].ToString());

    searcher = new ManagementObjectSearcher(query2);
    foreach (ManagementObject wmi_HD in searcher.Get())
    if (wmi_HD["SerialNumber"] != null)
    MessageBox.Show(wmi_HD["SerialNumber"].ToString());
    }

  2. #42

    تبدیل مقدار یک عبارت رشته ای به یک عدد صحیح

    int n = Convert.ToInt32(textBox1.Text);
    یا :
    int n = Int32.Parse(textBox1.Text);
    و چنانچه امکان خطا باشد که تقریبا همیشه هست :
    int n;
    Int32.TryParse(textBox1.Text, out n);
    در این حالت خروجی به n تخصیص داده میشود و چنانچه مشکلی رخ دهد n برابر صفر میشود.

  3. #43

    اجرا کردن یک فایل اجرایی با کدنویسی

    System.Diagnostics.Process.Start("mspaint.exe");

    چنانچه فایل اجرایی نیاز به آرگومان خط فرمان داشته باشد :
    System.Diagnostics.Process.Start("mspaint.exe", "c:\\Test.bmp");

    مثال بالا تصویر Test را در msPaint باز میکند.

  4. #44

    Lightbulb ایجاد متن و رشته های چند سطری

    string myString1 = "This is the first line of my string.\n" +
    "This is the second line of my string.\n" +
    "This is the third line of the string.\n";
    یا :
    string myString2 = @"This is the first line of my string.
    This is the second line of my string.
    This is the third line of the string.";

  5. #45

    Lightbulb روشهای Initialize کردن انواع آرایه ها

    // Single-dimensional array (numbers).
    int[] n1 = new int[4] {2, 4, 6, 8};
    int[] n2 = new int[] {2, 4, 6, 8};
    int[] n3 = {2, 4, 6, 8};
    // Single-dimensional array (strings).
    string[] s1 = new string[3] {"John", "Paul", "Mary"};
    string[] s2 = new string[] {"John", "Paul", "Mary"};
    string[] s3 = {"John", "Paul", "Mary"};
    // Multidimensional array.
    int[,] n4 = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
    int[,] n5 = new int[,] { {1, 2}, {3, 4}, {5, 6} };
    int[,] n6 = { {1, 2}, {3, 4}, {5, 6} };
    // Jagged array.
    int[][] n7 = new int[2][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} };
    int[][] n8 = new int[][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} };
    int[][] n9 = { new int[] {2,4,6}, new int[] {1,3,5,7,9} };

  6. #46

    ایجاد تصاویر Bitmap در زمان اجرا

    private Image CreateBitmap()
    {
    System.Drawing.Bitmap flag = new System.Drawing.Bitmap(10, 10);
    for (int x = 0; x < flag.Height; ++x)
    for (int y = 0; y < flag.Width; ++y)
    flag.SetPixel(x, y, Color.White);
    for (int x = 0; x < flag.Height; ++x)
    flag.SetPixel(x, x, Color.Red);
    return flag;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    pictureBox1.Image = CreateBitmap();
    }

    منبع : http://msdn2.microsoft.com/en-us/library/aa287582(VS.71).aspx

  7. #47

    افزودن کنترل در زمان اجرا

    مثال: یک تکست باکس به فرم اضافه میکند:
    private void button1_Click(object sender, System.EventArgs e) 
    {
    TextBox myText = new TextBox();
    myText.Location = new Point(25,25);
    this.Controls.Add (myText);
    }

  8. #48

    Lightbulb روش نصب MSDE همراه با برنامه

    توصیحات رو سر فرصت اضافه میکنم. فعلا :
    http://www.codeproject.com/KB/databa...Result=success

  9. #49

    یافتن MAC آدرس کارت شبکه

    ابتدا System.Management رو به References پروژه بیفزایید و سپس :
    using System.Management;

    private void GetMACAddress()
    {
    ManagementObjectSearcher searcher;
    string qry = "select * FROM Win32_NetworkAdapter";
    searcher = new ManagementObjectSearcher(qry);
    foreach (ManagementObject wmi_HD in searcher.Get())
    if (wmi_HD["MacAddress"] != null)
    MessageBox.Show(wmi_HD["MacAddress"].ToString());
    }

  10. #50

    Cool نمایش تصاویر در Windows picture and fax viewer از طریق کدنویسی

    //Open with the 'Windows picture and fax viewer':
    System.Diagnostics.Process.Start(@"C:\Windows\syst em32\rundll32.exe "
    , @"C:\Windows\system32\shimgvw.dll,ImageView_Fullsc reen " + filename);


    اینهم که آسونه اما شاید واسه دوستانی مفید باشه :
    //Open with the 'Microsoft Paint':
    System.Diagnostics.Process.Start(@"C:\Windows\syst em32\MSPaint.exe "
    , filename);

  11. #51

    وادار کردن لیست باکس به اسکرول تا یک آیتم مشخص

    مثال - برای آخرین آیتم :

    // Set the TopIndex property of the ListBox to ensure the
    // most recently added items are visible.
    listBox1.TopIndex = listBox1.Items.Count - 1;
    listBox1.SelectedIndex = listBox1.Items.Count - 1;

  12. #52

    جابجا کردن فرم با کلیک بر روی هر قسمت از آن - بدون استفاده از توابع API

    private bool dragging;
    private Point pointClicked;
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    // Turn drag mode on and store the point clicked.
    dragging = true;
    pointClicked = new Point(e.X, e.Y);
    }
    else
    {
    dragging = false;
    }
    }
    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
    if (dragging)
    {
    Point pointMoveTo;
    // Find the current mouse position in screen coordinates.
    pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
    // Compensate for the position the control was clicked.
    pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
    // Move the form.
    this.Location = pointMoveTo;
    }
    }
    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {
    dragging = false;
    }

  13. #53

    انتقال مقادیر خاصیت Text دو تکست باکس از طریق Drag & Drop

    private void textBox_DragDrop(object sender, DragEventArgs e)
    {
    TextBox txt = (TextBox)sender;
    txt.Text = (string)e.Data.GetData(DataFormats.Text);
    }

    private void textBox_DragEnter(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent(DataFormats.Text))
    {
    e.Effect = DragDropEffects.Copy;
    }
    else
    {
    e.Effect = DragDropEffects.None;
    }
    }

    private void textBox_MouseDown(object sender, MouseEventArgs e)
    {
    TextBox txt = (TextBox)sender;
    txt.SelectAll();
    txt.DoDragDrop(txt.Text, DragDropEffects.Copy);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    textBox2.DragDrop += new DragEventHandler(this.textBox_DragDrop);
    textBox2.MouseDown += new MouseEventHandler(this.textBox_MouseDown);
    textBox2.DragEnter += new DragEventHandler(this.textBox_DragEnter);
    textBox1.DragDrop += new DragEventHandler(this.textBox_DragDrop);
    textBox1.MouseDown += new MouseEventHandler(this.textBox_MouseDown);
    textBox1.DragEnter += new DragEventHandler(this.textBox_DragEnter);
    textBox1.AllowDrop = textBox2.AllowDrop = true;
    }

  14. #54

    گرفتن و تسخیر کردن (Capture) تصویر صفحه نمایش

    private void button1_Click(object sender, EventArgs e)
    {
    this.BackgroundImage= CaptureScreen();
    }

    private Image CaptureScreen()
    {
    Bitmap screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
    Screen.PrimaryScreen.Bounds.Height);
    using (Graphics g = Graphics.FromImage(screen))
    {
    g.CopyFromScreen(0, 0, 0, 0, screen.Size);
    }
    return screen;
    }

  15. #55

    پخش کردن برخی اصوات و صداهای سیستمی تنها با یک خط!

    // Play a beep with default frequency
    // and duration (800 and 200, respectively)
    Console.Beep();

    // Play a beep with frequency as 200 and duration as 300
    Console.Beep(200, 300);

    و یا :
    SystemSounds.Asterisk.Play();

    SystemSounds.Hand.Play();

    SystemSounds.Exclamation.Play();

    SystemSounds.Beep.Play();

    SystemSounds.Question.Play();

  16. #56

    نواختن یک فایل صوتی با فرمت Wave

    using System.Media;


    private void Form1_Load(object sender, EventArgs e)
    {
    SoundPlayer player = new SoundPlayer();
    string path = "C:\\windows\\media\\ding.wav";
    player.SoundLocation = path; //Set the path
    player.Play(); //play it
    }


    منبع : http://www.daniweb.com/code/snippet446.html

  17. #57

    بدست آوردن لیست چاپگرهای نصب شده در یک سیستم

    using System.Drawing.Printing;

    private void GetInstalledPrinters()
    {
    foreach (string printerName in PrinterSettings.InstalledPrinters)
    MessageBox.Show(printerName);
    }

  18. #58

    برخی اعمال متدوال روی تاریخ میلادی

    // Create a TimeSpan representing 2.5 days.
    TimeSpan timespan1 = new TimeSpan(2, 12, 0, 0);

    // Create a TimeSpan representing 4.5 days.
    TimeSpan timespan2 = new TimeSpan(4, 12, 0, 0);

    // Create a TimeSpan representing 1 week.
    TimeSpan oneWeek = timespan1 + timespan2;

    // Create a DateTime with the current date and time.
    DateTime now = DateTime.Now;

    // Create a DateTime representing 1 week ago.
    DateTime past = now - oneWeek;

    // Create a DateTime representing 1 week in the future.
    DateTime future = now + oneWeek;
    مثال :‌ پیدا کردن اختلاف تعداد روزهای بین دو تاریخ :
    DateTime dateFrom = DateTime.Parse("10/10/2007");
    DateTime dateTo = DateTime.Parse("11/12/2007");
    TimeSpan ts = dateTo - dateFrom;
    int days = ts.Days;
    و یا :
    DateTime dtFirst = new DateTime(2007, 10, 10);
    DateTime dtSecond = new DateTime(2007, 11, 12);
    TimeSpan diffResult = dtSecond.Subtract(dtFirst);

  19. #59

    تغییر خواص یک فایل

    using System.IO;

    مخفی و فقط خواندنی کردن یک فایل :
    FileInfo file = new FileInfo(@"C:\test.txt");
    file.Attributes = file.Attributes | FileAttributes.ReadOnly | FileAttributes.Hidden;

    تغییر خاصیت (حذف حالت فقط خواندنی مثال قبل):
    file.Attributes = file.Attributes & ~FileAttributes.ReadOnly;

  20. #60

    محاسبه ی حجم کلی یک دایرکتوری

    using System.IO;

    public long CalculateDirectorySize(DirectoryInfo directory, bool includeSubdirectories)
    {
    long totalSize = 0;
    // Examine all contained files.
    FileInfo[] files = directory.GetFiles();
    foreach (FileInfo file in files)
    {
    totalSize += file.Length;
    }
    // Examine all contained directories.
    if (includeSubdirectories)
    {
    DirectoryInfo[] dirs = directory.GetDirectories();
    foreach (DirectoryInfo dir in dirs)
    {
    totalSize += CalculateDirectorySize(dir, true);
    }
    }
    return totalSize;
    }

    private void button1_Click(object sender, EventArgs e)
    {
    MessageBox.Show(CalculateDirectorySize(new DirectoryInfo( @"C:\WINDOWS\System32"), true).ToString());
    }

  21. #61

    خواندن و نوشتن فایلهای متنی

    using System.IO;

    private void CreateTextFile()
    {
    using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Create))
    {
    using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
    {
    w.WriteLine(124.23M);
    w.WriteLine("Salaam!");
    w.WriteLine('!');
    }
    }
    }

    private string ReadFromTextFile()
    {
    StringBuilder sb = new StringBuilder();
    using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Open))
    {
    using (StreamReader r = new StreamReader(fs, Encoding.UTF8))
    {
    sb.AppendLine(r.ReadLine());
    sb.AppendLine(r.ReadLine());
    sb.AppendLine(r.ReadLine());
    }
    }
    return sb.ToString();
    }

  22. #62

    اضافه و جدا کردن نام فایل از مسیر کامل

    string filename = @"..\..\myfile.txt";
    string fullPath = @"c:\Temp";
    string filename = Path.GetFileName(filename);
    string fullPath = Path.Combine(fullPath, filename);
    // (fullPath is now "c:\Temp\myfile.txt")

  23. #63

    ایجاد یک نام تصادفی برای فایل

    string randomFileName = System.IO.Path.GetRandomFileName();


    و برای ایجاد نام منحصر بفرد برای فایلهای موقت :
    string tfile = Path.GetTempFileName();

  24. #64

    باز کردن یک سایت توسط internet explorer


    System.Diagnostics.
    Process.Start("iexplore.exe", "www.barnamenevis.org");

    و برای مثال در فایرفاکس :
     System.Diagnostics.Process.Start("C:\Program Files\Mozilla Firefox\FireFox.exe", "www.barnamenevis.org");

  25. #65

    تبدیل نوع enum به int


    public enum Days { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri };
    int x = (int) Days.Mon;


  26. #66

    انتقال آیتمهای Enum به یک ListBox


    public enum Days { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri };
    System.Type t = typeof(Days);
    foreach (string s in Enum.GetNames(t))
    {
    listBox1.Items.Add(s);
    }

  27. #67

    Lightbulb معرفی میانبرهای متداول در کدنویسی

    عادت کردن به میانبرها میتواند سرعت کدنویسی شما را افزایش دهد :
    • CTRL+ALT+L: View Solution Explorer. I use Auto Hide for all of my tool windows to maximize screen real estate. Whenever I need to open the Solution Explorer, it’s just a shortcut away. Related shortcuts: CTRL+ALT+X (Toolbox), F4 (Properties), CTRL+ALT+O (Output), CTRL+\, E (Error List), CTRL+\, T (Task List).
    • F12: Go to definition of a variable, object, or function.
    • SHIFT+F12: Find all references of a function or variable.
    • F7: Toggle between Designer and Source views.
    • CTRL+PgDn: Toggle between Design and Source View in HTML editor.
    • F10: Debug - step over. Related debugging shortcuts: F11 (debug - step into), SHIFT-F11 (debug - step out), CTRL-F10 (debug - run to cursor). F9 (toggle breakpoint).
    • CTRL+D or CTRL+/: Find combo (see section on Find Combo below).
    • CTRL+M, O: Collapse to Definitions. This is usually the first thing I do when opening up a new class.
    • CTRL+K, CTRL+C: Comment block. CTRL+K, CTRL-U (uncomment selected block).
    • CTRL+-: Go back to the previous location in the navigation history.
    • ALT+B, B: Build Solution. Related shortcuts: ALT+B, U (build selected Project), ALT+B, R (rebuild Solution).
    • CTRL+ALT+Down Arrow: Show dropdown of currently open files. Type the first few letters of the file you want to select.
    • CTRL+K, CTRL+D: Format code.
    • CTRL+L: Delete entire line.
    • CTRL+G: Go to line number. This is useful when you are looking at an exception stack trace and want to go to the offending line number.
    • SHIFT+ALT+Enter: Toggle full screen mode. This is especially useful if you have a small monitor. Since I upgraded to dual 17" monitors, I no longer needed to use full screen mode.
    • CTRL+K, X: Insert "surrounds with" code snippet. See Snippets tip below.
    • CTRL+B, T: Toggle bookmark. Related: CTRL+B, N (next bookmark), CTRL+B, P (prev bookmark).

    منبع :‌ http://www.chinhdo.com/20070920/top-11-visual-studio-2005-ide-tips-and-tricks-to-make-you-a-more-productive-developer/

  28. #68

    بدست آوردن لیست تمامی فرمهای باز در یک برنامه

    مثال :‌ تغییر رنگ پشت زمینه ی تمامی فرمهای باز در یک برنامه :
    foreach (Form frm in Application.OpenForms)
    frm.BackColor = Color.Fuchsia;

  29. #69

    restart کردن (بستن و مجددا اجرا کردن) برنامه

    private void button1_Click(object sender, EventArgs e)
    {
    Application.Restart();
    }

  30. #70

    ساده ترین راه برای جلوگیری از Not Respond شدن برنامه در حلقه های طولانی

    برنامه تمامی message های درون message queue فعلی (از قبیل رخدادها و ...) را پردازش میکند.
    Application.DoEvents();
    یک مثال ساده :
    محو شدن تدریجی یک فرم با تغییر دادن خاصیت Opacity

  31. #71

    فقط یک نمونه از برنامه بتواند اجرا شود (با استفاده از Process)

    using System.Diagnostics;
    این تغییرات را در کلاس مربوط به StartUp برنامه اعمال کنید :
    static class Program
    {
    [STAThread]
    static void Main()
    {
    if (IsPrevInstance())
    return;
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(fals e);
    Application.Run(new Form1());
    }

    private static bool IsPrevInstance()
    {
    string processName = Process.GetCurrentProcess().ProcessName;
    Process[] instances = Process.GetProcessesByName(processName);
    if (instances.Length > 1)
    return true;
    else
    return false;
    }
    }

  32. #72

    پراپرتی های اتوماتیک (Automatic Properties) در دات نت 3.0

    به جای نوشتن :
    private string userName;
    public string UserName
    {
    get { return userName; }
    set { userName = value; }
    }
    میتوانید بنویسید :
    public string UserName { get; set; }
    پیشنهاد خود مایکروسافت هم استفاده از حالت دوم است چون اگر snippet مربوط به prop رو اجرا کنید میبینید که برای این حالت تغییر یافته است.

    چند نکته :
    1- در پشت پرده و بصورت اتوماتیک ساختاری همانند پراپرتیهای سنتی تشکیل میشود اما دسترسی به فیلد آن امکان پذیر نیست.
    2- اگر بخواهید یک پراپرتی فقط خواندنی یا فقط نوشتنی ایجاد کنید باید از همان روش سنتی استفاده کنید.
    3- این نوع پراپرتی فقط جهت encapsualte کردن یک فیلد به کار میره و چنانچه نیاز به نوشتن عملیات خاصی (مثل اعتبارسنجی و ...) داشته باشید؛ باید از همان نوع سنتی استفاده کنید.

  33. #73

    عدم نیاز به نوشتن انواع توابع سازنده (ctor) در دات نت فریمورک 3.0 به بعد

    فرض کنید کلاسی برای کاربران خود به این شکل تعریف کردید :
    public class User
    {
    public string Password { get; set; }
    public string UserName { get; set; }
    public DateTime LastLogon { get; set; }
    }
    حال در برنامه میتوانید به اشکال زیر آبجکت آن را مقدار دهی کنید :
    User u1 = new User { UserName="sinpin", Password="123", LastLogon=DateTime.Now };

    User u2 = new User { UserName = "sinpin", Password = "123" };

    User u3 = new User { UserName = "sinpin" };

    به همین منوال میتوانید برای هر کلاسی استفاده کنید. مثلا ساخت یک نمونه از Form2 با تغییر برخی مشخصات :
    new Form2 { Text = "Test", BackColor = Color.Red }.Show();

    new Form2 { StartPosition = FormStartPosition.CenterScreen }.Show();

  34. #74

    تعریف یک متغیر بدون تعیین کردن نوع آن در دات نت فریمورک 3.0 به بعد

    Implicit typed local variables

    با استفاده از کلمه کلیدی var :
    برای مثال نوشتن :
    var answer = 42;
    var s = "this is a string.";
    var names = new string[]{"Joe", "Bob", "Sam"};
    معادل است با :
    int answer = 42;
    string s = "this is a string.";
    string[] names = new string[]{"Joe", "Bob", "Sam"};
    پس از مقداردهی نوع متغیر مشخص خواهد شد.

    اینها درست هستند :
    var a = "See", b = "Spot", c = "run";
    string[] names = new string[]{"Jim", "Joe", "Bob"};
    var b = new[] {1, 2.0, 3.5, 4.75}; // double[]
    var a = new[] {1, 2, 3, 4, 5}; // int[]

    foreach (var name in names)
    {
    ...
    }
    اما اینها اشتباه هستند :
    var x = null;
    var a = 22, b = "Spot", c = 9.5;
    var c = new[] {1, "Name", 2, "Address");
    چند نکته :
    • بلافاصله بعد از تعریف، متغیر باید مقداردهی شود در غیر اینصورت خطای زمان کامپایل رخ میدهد.
    • عمل تعیین نوع تنها یکبار انجام شده و پس از آن قابل تغییر نیست.
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 17 تیر 1394 در 13:23 عصر

  35. #75

    شروع آشنایی با LINQ بصورت ساده

    مثال 1 -
    فرض کنیم کلاسی مانند زیر تعریف کردیم :
    public class User
    {
    public int Age { get; set; }
    public string UserName { get; set; }
    }
    حال در فرم خود بنویسید :
    User[] users = new User[] {
    new User{UserName="Ahmad", Age=20},
    new User{UserName="Maryam", Age=17},
    new User{UserName="Ali", Age=29},
    new User{UserName="Hooman", Age=33},
    new User{UserName="Sara", Age=22},
    };

    var mySelect = from user in users where user.Age > 20 && user.Age < 30 select user.UserName;

    foreach (string uname in mySelect)
    MessageBox.Show(uname);


    مثال 2 -
    List<string> words = new List<string> { 
    "Word1", "World", "Word2", "Word3", "World4" };
    var wordQuery = from word in words where word == "World" select new { word };
    foreach (var name in wordQuery)
    MessageBox.Show( "-> Hello " + name.word);

  36. #76

    Initilize کردن کالکشنها در دات نت 3.0 به بالا

    میتونید کالکشنها رو در همان زمان تعریف مقداردهی نیز کنید.

    مثال 1-
    List<string> names = new List<string> {"Jim", "Joe", "Bob", "Sam"};
    مثال 2- با فرض داشتن کلاسی مانند:
    public class Person
    {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    }
    میتونیم بنویسیم :
    List<Person> people = new List<Person> {
    new Person { FirstName = "Scott", LastName = "Guthrie", Age = 32 },
    new Person { FirstName = "Bill", LastName = "Gates", Age = 50 },
    new Person { FirstName = "Susanne", LastName = "Guthrie", Age = 32 }
    };

  37. #77

    متودهای گسترش (Extension Methods)

    روشی برای تزریق یک متود تعریف شده به سایر کلاسها بدون دسترسی به سورس و کامپایل مجدد است.
    (البته این تزریق بصورت موقت و ظاهری است و در پشت پرده از طریق یک متود استاتیک اینکار انجام میشود.)

    مثال - میخواهیم متودی به کلاس string بیافزاییم که آخرین حرف یک رشته را برگرداند. یک کلاس استاتیک به شکل زیر تعریف میکنیم : (توجه : اسم کلاس اهمیتی ندارد)
    public static class MyExtensions
    {
    public static string GetLastCharacter(this System.String str)
    {
    return str.Substring(str.Length-1, 1);
    }
    }
    حال میتونیم این متد را در لیست متدهای یک string - مانند زیر - مشاهده کنیم :
    string temp = "Sinpin";
    MessageBox.Show( temp.GetLastCharacter());
    آخرین ویرایش به وسیله sinpin : یک شنبه 09 تیر 1387 در 10:44 صبح

  38. #78

    روش ارسال ایمیل به چندین گیرنده

    using System.Net.Mail;
    class SendEmail
    {
    public static void SendMessage(string subject, string messageBody, string fromAddress, string toAddress, string ccAddress)
    {
    MailMessage message = new MailMessage();
    SmtpClient client = new SmtpClient();
    message.From = new MailAddress(fromAddress);

    // Allow multiple "To" addresses to be separated by a semi-colon
    if (toAddress.Trim().Length > 0)
    {
    foreach (string addr in toAddress.Split(';'))
    {
    message.To.Add(new MailAddress(addr));
    }
    }

    // Allow multiple "Cc" addresses to be separated by a semi-colon
    if (ccAddress.Trim().Length > 0)
    {
    foreach (string addr in ccAddress.Split(';'))
    {
    message.CC.Add(new MailAddress(addr));
    }
    }

    message.Subject = subject;
    message.Body = messageBody;
    client.Host = "YourMailServer";
    client.Send(message);
    }
    }

    منبع : http://code.msdn.microsoft.com/sendemail

  39. #79

    نحوه Drag کردن عکس از یک pictureBox به یک pictureBox دیگه

    نمونه برنامه را می توانید در اخر همین پست دانلود کنید
    برای این عمل به یک رویداد (MouseMove) برای pictureBox منبع نیاز دارید و دو رویداد (DragDrop) و ( DragEnter) از pictureBox مقصد. که نحوه کد کردن آن ها به شکل زیر است

    private void picBoxSource_MouseMove(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left & picBoxSource.Image != null)
    {

    picBoxSource.DoDragDrop(picBoxSource.Image, DragDropEffects.All);
    }
    }




    private void picBoxDest_DragEnter(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent(DataFormats.Bitmap))
    {
    e.Effect = DragDropEffects.Copy;
    }
    else
    e.Effect = DragDropEffects.None;
    }



    private void picBoxDest_DragDrop(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent(DataFormats.Bitmap))
    {
    picBoxDest.Image = (Image)e.Data.GetData(DataFormats.Bitmap);
    }
    }



    نکته : خاصیت AllowDrop مربوط به pictureBox مقصد را بایستی true کنید. دقت داشته باشید که این خاصیت، در پنجره خواص مربوط به pictureBox وجود نداره و باید اونو از طریق کد نویسی اعمال کنید.
    موفق باشید
    مهدی کیانی
    فایل های ضمیمه فایل های ضمیمه

  40. #80

    نحوه ایجاد فرم About بدون کد نویسی و طراحی فرم

    < نمونه برنامه را از آخر همین پست دریافت کنید >
    شما می توانید ، یک فرم About ("در باره برنامه" .. یا بعضا "در برباره ما ")، به پروژه خود اضافه کنید. بدون اینکه کد نویسی برای قسمت های مختلف آن انجام بدین.
    برای این کار روی نام سولوشن برنامه کلیک راست کنید، و از گزینه properties ،تب مربوط به Application را انتخاب کنید. (Default Tab)
    سپس روی گزینه Assembly Information کلیک کنید تا پنجره مربوط به Assembly Information باز شود.
    مانند شکل زیر





    پس از پر کردن فیلد ها با اطلاعات دلخواه شما، از منوی project و از گزینه Add New Item یک AboutBox به فرم خود اضافخ کنید. (به عنوان نمونه ABoutBox1)

    حال در هر کجا که می خواهید، کافی است کد زیر را بنویسید، تا فرم About نمایش داده شود.


    new AboutBox1().ShowDialog(this);


    مانند شکل زیر







    موفق باشید
    مهدی کیانی
    فایل های ضمیمه فایل های ضمیمه

صفحه 2 از 14 اولاول 123412 ... آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •