ترفندهای برنامه نویسی در c#‎

elicaco

New Member
هر کسی که مدتی برنامه نویسی کرده باشه حتماً ترفند هایی رو برای خودش پیدا کرده تا بتونه کدهای جمع و جورتر و خلاصه تری با کارایی بالاتر را تولید کنه و یا با استفاده از امکانات محیط برنامه نویسی به منظور سهولت کد نویسی و یا تولید کد های خودکار به کار خودش سرعت و دقت بیشتری بده.
ممنون میشم تجربیات خودتون رو ارائه کنید.
 

elicaco

New Member
نوشتن يک Event براي تعدادي کنترل و انجام کار مشابه بر روي انها

ممکنه توي فرمتون تعداد زيادي TextBox باشه و بخواييد هر بار که اون فوکوس ميشه متن داخلش انتخاب بشه تا اگه کاربر بخواد اون رو عوض کنه نيازي به Del و BackSpace نداشته باشه (و يا اعمال ديگر )
ميشه براي هر TextBox يه Event نوشت و اون کار رو انجام بديد
حالا اگه تعداد textBox ها زياد باشه براي هر کنترل يک Event
ميشه براي همه اونهايک Event نوشت تا اينکار رو براي همه اونها انجام بده :
اول بايد همه TextBox هايي رو که مي خواييد انتخاب کنين بعد يه Event براشون بزارين تا همشون از يه Event استفاده کنند بعد اين کد رو داخل اون Event مي گذاريد

کد:
private void textBox1_Enter(object sender, EventArgs e)
        {
           TextBox txtbx = sender as TextBox;
            txtbx.text.selectall();
        }
 

elicaco

New Member
افزودن قطعه كد به ToolBox

قطعه كدي كه زياد مورد استفاده قرار مي گيرد در جعبه ابزار قرار مي دهيم
سپس با كليك كردن روي آن، قطعه كد مورد نظر را در برنامه قرار دهيد.
براي اضافه كردن كد به جعبه ابزار مي تونيد اون رو انتخاب كنيد سپس با ماوس روي جعبه ابزار
drag كنيدو روي دستور كليك راست و Rename كرده و نام بامفهومي به اون بديد و براي استفاده از اين كد در برنامه كافي است كه مکان نما
را به جايي كه مي خواهيد كد در آن قرار گيرد ببريد و سپس روي دستور دابل كليك كنيد.
 

elicaco

New Member
ممکنه در زمانی که کد می نویسید تورفتگی های پیشفرضی که محیط ادیتور ایجاد می کنه بهم بریزه و کم یا زیاد بشه
حالا اگه بخواییم با Space و Del درستشون کنیم که :-<:-<:evil::evil:
میشه اینکارو به ادیتور سپرد
1- اول کل کد را انتخاب می کنیم Ctrl+A
2- بعد Ctrl+K
3- در آخر Ctrl+F
 
آخرین ویرایش:

elicaco

New Member
[FONT=&quot]برای مثال همون طور که خودتون بهتر می دونید به جای [/FONT]​
کد:
[FONT=&quot][SIZE=3][COLOR=Navy]
Form1 form = new Form1();[/COLOR][/SIZE][/FONT][SIZE=3][COLOR=Navy]
[/COLOR][/SIZE][FONT=&quot][SIZE=3][COLOR=Navy]form[/COLOR][/SIZE][/FONT][FONT=&quot][SIZE=3][COLOR=Navy].Show();[/COLOR][/SIZE][/FONT][SIZE=3][COLOR=Navy]
  [/COLOR][/SIZE]
[FONT=&quot]میشه نوشت[/FONT]​
کد:
[FONT=&quot][SIZE=3][COLOR=Navy]new Form1().Show();[/COLOR][/SIZE][/FONT][SIZE=3][COLOR=Navy]
[/COLOR][/SIZE]
 
آخرین ویرایش:

elicaco

New Member
[FONT=&quot]حتما تا حالا با توابع[/FONT][FONT=&quot] Event [/FONT][FONT=&quot]ها که شبیه هم هستند و [/FONT][FONT=&quot]editor[/FONT][FONT=&quot] رو شلوغ می کنن بر خورد کردین ، میشه بعضیاشونو اینجوری خلاصه کرد[/FONT][FONT=&quot]:
[/FONT][FONT=&quot]فرض کنیم توابعی برای هندل کردن رویدادهایی داریم که تقریبا مشابه اند مثل زیر[/FONT]​
کد:
[FONT=&quot][SIZE=3]private void button1_Click(object sender, EventArgs e)[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        {[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            Form1 form = new Form1();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            form.Show();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        }[/SIZE][/FONT][SIZE=3]
  
[/SIZE][FONT=&quot][SIZE=3]private void button2_Click(object sender, EventArgs e)[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        {[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            Form1 form = new Form1();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            form.Show();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        }[/SIZE][/FONT][SIZE=3]
    [/SIZE]
[FONT=&quot]جای این دو می توان تابعی برای یکی ایجاد کرد و تابع رویداد دیگری را به آن لینک داد و به این شکل زیرنوشت[/FONT]​
کد:
[FONT=&quot][SIZE=3]private void button1_Click(object sender, EventArgs e)[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        {[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            switch (((Button)sender).Name)[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            {[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                case "button1":[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                    new Form1().Show();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                    break;[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                case "button2":[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                    new Form2().Show();[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]                    break;[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]            }[/SIZE][/FONT][SIZE=3]
  [/SIZE][FONT=&quot][SIZE=3]        }[/SIZE][/FONT][SIZE=3]
  [/SIZE]
[FONT=&quot]یا یه تابع با اسم مرتبط ایجاد کرده و رویدادها رو به این تابع ، لینک بدیم.[/FONT]​
[FONT=&quot]ارزش این روش وقتی مشخص می شود که تعداد کنترل ها در فرم زیاد باشند[/FONT][FONT=&quot].[/FONT]​

 
آخرین ویرایش:

elicaco

New Member
[FONT=&quot]ر[FONT=&quot]اه حل دوم در رابطه با مرتب کردن تورفتگی ها در ادیتور:[/FONT][FONT=&quot] Ctrl+K, Ctrl+D
[/FONT][FONT=&quot]که با این روش کل[/FONT][FONT=&quot] document [/FONT][FONT=&quot]مرتب میشه[/FONT][FONT=&quot]
[/FONT]
[/FONT]
[FONT=&quot]از[FONT=&quot] منو, Edit [/FONT][FONT=&quot]هم قابل دسترسی است[/FONT][FONT=&quot] Edit > Advanced > Format Document[/FONT][/FONT]​
 

elicaco

New Member
سلام
دوستان برنامه نویس هم لطفا ترفنداتون رو قرار بدین
موفق باشید
 
آخرین ویرایش:

elicaco

New Member
[FONT=&quot]برای اینکه سرعت تایپ کدهامون زیاد بشه این کاره[/FONT][FONT=&quot]ار[/FONT][FONT=&quot]و میشه انجام داد[/FONT]

[FONT=&quot]1- مثلا میخوایم یه حلقه[/FONT] for [FONT=&quot]رو سریع بنویسیم فقط کافیه بعد تایپ[/FONT] for [FONT=&quot]بلافاصله 2 بار کلید[/FONT]tab [FONT=&quot] روبزنیم خود محیط سی شارپ غالبشو واسمون مینویسه[/FONT]

[FONT=&quot]2-هر جا خواستيد يه دستور مثل حلقه[/FONT] for [FONT=&quot]يا[/FONT] foreach [FONT=&quot]يا چند تا دستور ديگه را سريع بنويسيد کافيه توي اون قسمت راست کليک کنيد و گزينه[/FONT] Insert Snippet [FONT=&quot]را بزنيد[/FONT] ([FONT=&quot]گزینه [/FONT]Sururond With …[FONT=&quot] همین کارو می کنه [/FONT],[FONT=&quot]فرقشونو فعلا نمی دونم) و از ليست باز شده گزينه مورد نظر را انتخاب کنيد [/FONT]

 
آخرین ویرایش:

elicaco

New Member
معرفی کلیدهای میانبر مهم هنگام کدنویسی


  • 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...icks-to-make-you-a-more-productive-developer/
Visual Studio 2010 Keybinding Posters
http://www.dofactory.com/ShortCutKeys/ShortCutKeys.aspx
http://msdn.microsoft.com/en-us/library/da5kh0wa.aspx
http://www.mobydisk.com/softdev/tech...tkeyboard.html
 
آخرین ویرایش:

elicaco

New Member
ایجاد کردن یک Property

برای اینکه خیلی سریع یک Property ایجاد کنی کافیه که کلمه prop رو تایپ کنین و دوباره Tab بزنین.
کد:
private int myVar;

    public int MyProperty
    {
      get { return myVar; }
      set { myVar = value; }
    }
 

elicaco

New Member
آشنایی با Snippet ها باعث سرعت شما در محیط کدنویسی میشود. برای استفاده کافیست بلافاصله بعد از نوشتن آنها (و بدون ایجاد فاصله) دوبار دکمه Tab را فشار دهید. توضیحات بیشتر


[FONT=&quot]ایجاد یک ناحیه[/FONT][FONT=&quot] :‌ [/FONT]
[FONT=&quot]#region[/FONT]

[FONT=&quot]ایجاد[/FONT][FONT=&quot] MessageBox :[/FONT]
[FONT=&quot]mbox[/FONT]

[FONT=&quot]ایجاد[/FONT][FONT=&quot] Constructor برای کلاس :[/FONT]
[FONT=&quot]ctor[/FONT]

[FONT=&quot]ایجاد متود[/FONT][FONT=&quot] Main :[/FONT]
[FONT=&quot]svm[/FONT]
[FONT=&quot]
برای ایجاد کلاسها، ایندکسر، استراکچر، [/FONT][FONT=&quot]... [/FONT]

[FONT=&quot]class, enum, struct, indexer[/FONT]
[FONT=&quot]
برای ایجاد انواع حلقه ها[/FONT][FONT=&quot] :[/FONT]

[FONT=&quot]for[/FONT]
[FONT=&quot]forr[/FONT]
[FONT=&quot]foreach[/FONT]
[FONT=&quot]while[/FONT]
[FONT=&quot]do[/FONT]

[FONT=&quot]ایجاد پراپرتی[/FONT][FONT=&quot] :[/FONT]
[FONT=&quot]prop[/FONT]
[FONT=&quot]propg[/FONT]

[FONT=&quot]دستورات شرطی[/FONT][FONT=&quot] :[/FONT]
[FONT=&quot]if[/FONT]
[FONT=&quot]else[/FONT]
[FONT=&quot]switch[/FONT]
[FONT=&quot]و[/FONT][FONT=&quot] ...[/FONT]

[FONT=&quot]روش دیگر افزودن :‌ روی یک قسمت خالی در محیط کدنویسی[/FONT][FONT=&quot] Right Click [/FONT][FONT=&quot]و سپس گزینه[/FONT][FONT=&quot] Insert Snippet [/FONT][FONT=&quot]رو انتخاب نمایید[/FONT][FONT=&quot].
[/FONT][FONT=&quot]چنانچه کدی (مثلا 15 خط) نوشتید که میخواهید درون یک بلاک (حلقه، شرط و [/FONT][FONT=&quot]...) [/FONT][FONT=&quot]قرار بگیره تمامی خطوط آن را[/FONT][FONT=&quot] Select [/FONT][FONT=&quot]و پس از[/FONT][FONT=&quot] Right Click [/FONT][FONT=&quot]گزینه [/FONT][FONT=&quot]Surround with [/FONT][FONT=&quot]رو انتخاب نمایید[/FONT]
[FONT=&quot].[/FONT][FONT=&quot][/FONT]​
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا