0

تاپیک جامع نکات در سی شارپ

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

تغییر رنگ متن وارد شده در richTextBox
ابتدا روی فرمتون یک کنترل richTextBox قرار دهید و سپس در رویداد Click آن کد زیرو تایپ کنید و نتیجه رو ببینید
 
کد:
    private void richTextBox1_Click(object sender, EventArgs e)
        {
            richTextBox1.Select();
            richTextBox1.SelectionColor = Color.Blue;
        }
 
 
 
 
تغییر رنگ پس زمینۀ متن در richTextBox
 
در همون رویداد click کد زیرو وارد کنید 
 
کد:
    private void richTextBox1_Click(object sender, EventArgs e)
        {
            richTextBox1.SelectAll();
            richTextBox1.SelectionBackColor = Color.Yellow;
        }
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

نمایش فایل ها با DragDrop کردن درون listbox
یک پروژۀ ویندوزی ایجاد کنید و یک کنترل listbox روی فرم قرار بدید و سپس از قسمت event های کنترلتون روی رویداد DragDrop دوبار کلیک کنید و کد زیرو تایپ کنید به این شکل
 
 
 
کد:
      private void listBox1_DragDrop(object sender, DragEventArgs e)
        {
 
            string[] allfiles = (string[])e.Data.GetData(DataFormats.FileDrop,false);
            int n = allfiles.Length;
            for (int i = 0; i < n; i++)
                listBox1.Items.Add(allfiles[i]);
        }
 
 
حالا در رویداد DragEnter کنترل لیست باکستون کد زیرو تایپ کنید 
 
کد:
      private void listBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
                e.Effect = DragDropEffects.All;
            else
                e.Effect = DragDropEffects.None;
        }
 
 
دقت کنید وقتی برنامه رو اجرا کنید هیچ تغییری با DragDrop کردن نخواهید دید چون باید خاصیت allowdrop مربوط به کنترل لیست باکس فعال باشه یعنی در به صورت پیش فرض در حالت False هست که باید True بشه در این صورت میتونید فایلی رو از سیستم انتخاب کنید و درون لیست باکس بکشید و رها کنید 
 
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

غیر فعال کردن cut و copy
ابتدا یه پروژۀ ویندوزی ایجاد کنید و یک کنترل textbox روی فرم قرار بدید و سپس در رویداد KeyDown کنترلتون کد زیرو تایپ کنید
 
کد:
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                e.SuppressKeyPress = true;
            }
 
            if (e.Control == true)
            {
                switch (e.KeyCode)
                {
                    case Keys.C:
                    case Keys.P:
                    case Keys.X:
                        e.Handled = true;
                        textBox1.SelectionLength = 0;
                        break;
                }
            }
        }
 
 
خب پس از تایپ کد بالا ، در رویداد enter کنترلتون کد زیرو بنویسید تا داده وارد شده در textbox رو از داخل کلیپ بورد سیستم پاک کنیم 
 
کد:
 private void textBox1_Enter(object sender, EventArgs e)
        {
            System.Windows.Forms.Clipboard.Clear();
        }
 
 
نکته : این قسمت نیاز می باشد چون باید هیچ داده ای در (Clipboard) وجود نداشته باشه تا در جای دیگه paste نشه
 
خب حالامی تونید برنامتون رو اجرا کنید و نتیجه رو تست کنید با تایپ یک متن درون textbox
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

چاپ اعداد سری فیبوناچی کوچکتر از 1000
کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int second = 1, first = 1, temp;
            Console.Write("{0},", first);
            while (second < 1000)
            {
                Console.Write("{0},", second);
                temp = first + second;
                first = second;
                second = temp;
            }
            Console.ReadKey();
        }
 
    }
}
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

تشخیص مقدار انتخاب شده checkedListBox و نمایش در عنوان فرم
ابتدا یک کنترل checkedListBox روی فرمتون قرار بدید و به دلخواه چند مقدار براش تعیین کنید ، سپس در رویداد SelectedIndexChanged کنترلتون کد زیرو تایپ کنید
 
کد:
    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selected = checkedListBox1.SelectedIndex;
            this.Text = checkedListBox1.Items[selected].ToString();
        }
 
 
 
 
حذف مقدار انتخاب شده از checkedListBox
 
در رویداد ItemCheck کنترلتون کد زیرو تایپ کنید
 
کد:
     private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (e.NewValue == CheckState.Unchecked)
            {
                checkedListBox1.Items.RemoveAt(e.Index);
                e.NewValue = CheckState.Checked;
            }
        }
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

تغییر چینش متن در richTextBox
روی فرمتون یک کنترل richTextBox قرار بدید و در رویداد Enter کنترلتون کد زیرو تایپ کنید
 
کد:
        private void richTextBox1_Enter(object sender, EventArgs e)
        {
            richTextBox1.SelectAll();
            richTextBox1.SelectionAlignment = HorizontalAlignment.Right;
}
 
 
خب چون میخواییم فارسی تایپ کنیم پس باید از راست شروع به نوشتن کنیم ، برای نوشتن از راست به چپ از روی کیبورد کلیدها رو تغییر بدید
 
 
 
تغییر فونت و سایز متن در richTextBox
 
کد:
  private void richTextBox1_Enter(object sender, EventArgs e)
        {
            richTextBox1.SelectionStart = 21;
            richTextBox1.SelectionLength = 10;
            richTextBox1.SelectionFont = new System.Drawing.Font("B nazanin", 20);
 
        }
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

نمایش پنجره تنظیمات صدا و زبان ویندوز
ابتدا یک پروژۀ ویندوزی ایجاد کنید و سپس دو کترل button روی فرمتون قرار بدید و در رویداد click کنترلتون کد زیرو وارد کنید
 
قبل از هر چیز فضای نام زیرو اضافه کنید
 
کد:
using System.Diagnostics;
کد:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Process.Start("Intl.cpl");
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Process.Start("Mmsys.cpl");
 
        }
    }
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

متصل کردن یک فرم به فرم دیگر
ابتدا یک پروژۀ ویندوزی ایجاد کنید و سپس دو فرم به پروژتون اضافه کنید و در رویداد فرم اولتون (Form1_Load) کد زیرو وارد کنید
 
کد:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Form2 ins = new Form2();
            ins.MdiParent = this.MdiParent;
            this.Hide();
            ins.ShowDialog();
        }
    }
 
 
زمانی که برنامه رو اجرا کنید اول فرم 2 نمایش داده میشه و هنگامی که فرمو ببندید بلافاصله فرم 1 نمایش داده میشه 
به همین شکل میشه فرم هارو به همدیگه متصل کرد
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:50 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

چاپ رشته با هر بار تکرار درون richTextBox
ابتدا یک پروژۀ ویندوزی ایجاد کنید و یک کنترل richTextBox و یک textbox روی فرمتون قرار بدید 
در رویداد TextChanged کنترل textbox تون کد زیرو تایپ کنید 
 
کد:
   private void textBox1_TextChanged(object sender, EventArgs e)
        {
            richTextBox1.Text = textBox1.Text + "\t:\t" + textBox1.Text + "\n" + textBox1.Text + "\t:\t" + textBox1.Text;
        }
 
 
به این شکل میتونید توی کادر (textbox) به هر اندازه و در هر سطر رشته وارد کنید و درون richTextBox نمایش بدید
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

نمایش یک سایت با استفاده webBrowser و سورس صفحه
ابتدا یه پروژۀ ویندوزی ایجاد کنید و یه کنترل webBrowser و textbox و دوتا button روی فرمتون قرار بدید 
قبل از همه چی فضای نام زیرو اضافه کنید 
 
کد PHP:
using System.IO;  
خب حالا روی دکمه اول دوبار کلیک کنید تا وارد رویداد کلیکش بشید و کد زیرو تایپ کنید
 
 
کد PHP:
    private void button1_Click(object sender, EventArgs e) 
        { 
            webBrowser1.Navigate(textBox1.Text); 
        }  
حالا روی دکمه دوم کلیک کنید و کد زیرو تایپ کنید
 
کد PHP:
      private void button2_Click(object sender, EventArgs e) 
        { 
            String source = ("viewsource.txt"); 
            StreamWriter writer = File.CreateText(source); 
            writer.Write(webBrowser1.DocumentText); 
            writer.Close(); 
            Process.Start("notepad.exe", source); 
        }  
 
نتیجه به این شکل خواهد بود که با تایپ آدرس سایت مورد نظرتون و فشردن دکمۀ اول سایت در webBrowser نمایش داده میشه و بعد از لود شدن کامل سایت با فشردن دکمۀ دوم سورس صفحه سایت درون یک notepad ریخته میشه و نمایش داده میشه
دقت کنید notepad ساخته شده در این آدرس ذخیره میشه
 
WindowsFormsApplication11\bin\Debug
 
 
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

انتقال داده وارد شده از textBox فرم اول به textBox فرم دوم
ابتدا یک کنترل button , textbox روی فرم اولتون بزارید ، و روی فرم دومتون یک textbox
 
حالا در رویداد click کنترل button کد زیرو تایپ کنید 
 
کد PHP:
namespace WindowsFormsApplication11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public static string SetValueForText = "";
        private void button1_Click(object sender, EventArgs e)
        {
            SetValueForText = textBox1.Text;
            Form2 frm = new Form2();
            frm.Show();
        }
    }  
 
و در رویداد load فرم دوم کد زیر
 
کد PHP:
   private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = Form1.SetValueForText;
        }  
 
حالا هر مقداری رو در کادر اول وارد کنید و دکمه رو کلیک کنید فرم دوم باز میشه و همون مقدار در کادر دوم نمایش داده میشه
 
 
 
فقط خواندنی کردن مقادیر درون comboBox
 
یک کنترل comboBox روی فرمتون بزارید و در رویداد Load فرمتون کد زیرو تایپ کنید 
کد PHP:
    private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
        }  
 
دقت کنید که مقداری رو به کنترل بدید
 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

جستجو در DatagridView
ابتدا یک پروژۀ ویندوزی بسازید و یه کنترل textBox و dataGridView روی فرمتون قرار بدید و قبل از رویداد load فرمتون کد زیرو تایپ کنید
 
 
کد PHP:
  DataTable DataTable1 = new DataTable();
BindingSource BindingSource1 = new BindingSource();  
 
حالا در رویداد load فرمتون که وارد بشید و کد زیرو تایپ کنید
 
کد PHP:
     private void Form1_Load(object sender, EventArgs e)
        {
            DataTable1.Columns.Add("id", typeof(int));
            DataTable1.Columns.Add("name", typeof(string));
 
            DataTable1.Rows.Add(new object[] { 1, "FaridP30" });
            DataTable1.Rows.Add(new object[] { 2, "Reza" });
            DataTable1.Rows.Add(new object[] { 3, "Ottima" });
 
            BindingSource1.DataSource = DataTable1;
            dataGridView1.DataSource = BindingSource1;
 
        }  
 
من داده هامو به صورت دستی وارد گریدم میکنم به همین شکلی که بالا می بینید ، خب الان در رویداد TextChanged کنترل تکست باکستون وارد بشید و کد زیرو تایپ کنید
 
کد PHP:
   private void textBox1_TextChanged(object sender, EventArgs e)
        {
            BindingSource1.f-i-l-t-e-r = string.Format("name LIKE '%{0}%'", textBox1.Text);
        }  
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

پیمایش حروف در تکست باکس
ابتدا یه کنترل button و یه textbox روی فرمتون قرار بدید و سپس در رویداد click کنترل button کد زیرو تایپ کنید 
زمان اجرا می بینید که هرچی توی تکست باکس بنویسید و دکمه رو فشار بدید تک تک حروف اون کلمه براتون پیمایش میشه و نمایش داده میشه
 
کد PHP:
     private void button1_Click(object sender, EventArgs e) 
        { 
            char[] ch = textBox1.Text.ToCharArray(); 
            for (int i = 0; i < ch.Length; i++) 
            { 
                MessageBox.Show(ch[i].ToString()); 
            } 
        }  
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

نمایش OSK Keyboard
ابتدا یک کنترل button روی فرمتون قرار بدید و در رویداد کلیک کد زیرو تایپ کنید
 
قبلش فضای نام
 
کد:
using System.Diagnostics;
کد:
       private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"c:\WINDOWS\system32\osk.exe");
        }
 
 
 
 
ایجاد یک کلمه 5 حرفی به صورت رندوم
 
یک پروژۀ کنسول ایجاد کرده و کد زیرو تایپ کنید و با هربار اجرای برنامه یک کلمه 5 حرفی چاپ میشه
 
 
کد:
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var str = createRandomWord(5);
            Console.WriteLine(str);
        }
 
        public static string createRandomWord(int lenght)
        {
            var temp = string.Empty;
            var random = new Random(DateTime.Now.Millisecond);
            for (int i = 0; i < lenght; i++)
            {
                temp += (char)(random.Next((int)'a', (int)'z'));
            }
            return temp;
 
        }
    }
}
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:51 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:تاپیک جامع نکات در سی شارپ

ممانعت از تکرار کدها در ویژوال استودیو
گاهی اوقات پیش میاد که کدی رو در محیط ویژوال استودیو می نویسیم و بعد از تمام شدن اون مرحله از کدنویسی نیاز میشه تا اون کد رو پاک کنیم و بخواییم در جای دیگه تایپش کنیم یا ...
خب در این صورت برامون خیلی شاید خسته کننده باشه که هربار کد تکراری رو بنویسیم ... 
 
خوشبختانه مایکروسافت فکر اینجا رو هم کرده و یه قابلیتی درون ویژوال گنجونده که میشه اینکارو با یه درگ دراپ کردن برطرف کرد ... 
به این صورت که، کدی که قرار هست در قسمت های مختلفی نوشته بشه رو یکبار select کنیم و با درگ کردن درون محیط پنجره toolbox و در قسمت general دراپ کنیم به صورت زیر
 
 
 
خب از این بعد رو دیگه همه بلدیم که چطور یه کنترل رو از toolbox روی فرم بزاریم ... اینم به همین شکل هست، هر جایی نیاز داشتید می تونید کدی که در toolbox تون هست رو در قسمت مناسب کدنویسیتون قرار بدید

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  10:52 PM
تشکرات از این پست
دسترسی سریع به انجمن ها