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

شروع موضوع توسط elicaco ‏24 سپتامبر 2011 در انجمن برنامه‌نویسی C و هم خانواده‌هایش

  1. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    هر کسی که مدتی برنامه نویسی کرده باشه حتماً ترفند هایی رو برای خودش پیدا کرده تا بتونه کدهای جمع و جورتر و خلاصه تری با کارایی بالاتر را تولید کنه و یا با استفاده از امکانات محیط برنامه نویسی به منظور سهولت کد نویسی و یا تولید کد های خودکار به کار خودش سرعت و دقت بیشتری بده.
    ممنون میشم تجربیات خودتون رو ارائه کنید.
     
    نوشته شده توسط elicaco در ‏24 سپتامبر 2011
    saalek110 از این پست تشکر کرده است.
  2. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    نوشتن يک Event براي تعدادي کنترل و انجام کار مشابه بر روي انها

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

    کد (Text):

    private void textBox1_Enter(object sender, EventArgs e)
            {
               TextBox txtbx = sender as TextBox;
                txtbx.text.selectall();
            }
     
     
    نوشته شده توسط elicaco در ‏24 سپتامبر 2011
  3. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    افزودن قطعه كد به ToolBox

    قطعه كدي كه زياد مورد استفاده قرار مي گيرد در جعبه ابزار قرار مي دهيم
    سپس با كليك كردن روي آن، قطعه كد مورد نظر را در برنامه قرار دهيد.
    براي اضافه كردن كد به جعبه ابزار مي تونيد اون رو انتخاب كنيد سپس با ماوس روي جعبه ابزار
    drag كنيدو روي دستور كليك راست و Rename كرده و نام بامفهومي به اون بديد و براي استفاده از اين كد در برنامه كافي است كه مکان نما
    را به جايي كه مي خواهيد كد در آن قرار گيرد ببريد و سپس روي دستور دابل كليك كنيد.
     
    نوشته شده توسط elicaco در ‏24 سپتامبر 2011
    bitaroos از این پست تشکر کرده است.
  4. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    ممکنه در زمانی که کد می نویسید تورفتگی های پیشفرضی که محیط ادیتور ایجاد می کنه بهم بریزه و کم یا زیاد بشه
    حالا اگه بخواییم با Space و Del درستشون کنیم که :-<:-<:evil::evil:
    میشه اینکارو به ادیتور سپرد
    1- اول کل کد را انتخاب می کنیم Ctrl+A
    2- بعد Ctrl+K
    3- در آخر Ctrl+F
     
    آخرین ویرایش: ‏26 سپتامبر 2011
    نوشته شده توسط elicaco در ‏24 سپتامبر 2011
    bitaroos از این پست تشکر کرده است.
  5. saalek110

    saalek110 Well-Known Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,267
    امتیاز دستاورد:
    113
    آخرین ویرایش: ‏25 سپتامبر 2011
    نوشته شده توسط saalek110 در ‏25 سپتامبر 2011
    bitaroos و elicaco از این پست تشکر کرده اند.
  6. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    [FONT=&quot]برای مثال همون طور که خودتون بهتر می دونید به جای [/FONT]​
    کد (Text):
    [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]​
    کد (Text):
    [FONT=&quot][SIZE=3][COLOR=Navy]new Form1().Show();[/COLOR][/SIZE][/FONT][SIZE=3][COLOR=Navy]
    [/COLOR][/SIZE]
     
    آخرین ویرایش: ‏27 سپتامبر 2011
    نوشته شده توسط elicaco در ‏27 سپتامبر 2011
    oldooz از این پست تشکر کرده است.
  7. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    [FONT=&quot]حتما تا حالا با توابع[/FONT][FONT=&quot] Event [/FONT][FONT=&quot]ها که شبیه هم هستند و [/FONT][FONT=&quot]editor[/FONT][FONT=&quot] رو شلوغ می کنن بر خورد کردین ، میشه بعضیاشونو اینجوری خلاصه کرد[/FONT][FONT=&quot]:
    [/FONT][FONT=&quot]فرض کنیم توابعی برای هندل کردن رویدادهایی داریم که تقریبا مشابه اند مثل زیر[/FONT]​
    کد (Text):
    [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]​
    کد (Text):
    [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]​

     
    آخرین ویرایش: ‏27 سپتامبر 2011
    نوشته شده توسط elicaco در ‏27 سپتامبر 2011
    bitaroos از این پست تشکر کرده است.
  8. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    [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 در ‏28 سپتامبر 2011
    bitaroos و saalek110 از این پست تشکر کرده اند.
  9. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    سلام
    دوستان برنامه نویس هم لطفا ترفنداتون رو قرار بدین
    موفق باشید
     
    آخرین ویرایش: ‏1 اکتبر 2011
    نوشته شده توسط elicaco در ‏29 سپتامبر 2011
  10. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    [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]

     
    آخرین ویرایش: ‏2 اکتبر 2011
    نوشته شده توسط elicaco در ‏1 اکتبر 2011
    bitaroos از این پست تشکر کرده است.
  11. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    معرفی کلیدهای میانبر مهم هنگام کدنویسی


    • 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
     
    آخرین ویرایش: ‏4 دسامبر 2011
    نوشته شده توسط elicaco در ‏4 اکتبر 2011
  12. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    ایجاد کردن یک Property

    برای اینکه خیلی سریع یک Property ایجاد کنی کافیه که کلمه prop رو تایپ کنین و دوباره Tab بزنین.
    کد (Text):

    private int myVar;

        public int MyProperty
        {
          get { return myVar; }
          set { myVar = value; }
        }
     
     
    نوشته شده توسط elicaco در ‏12 اکتبر 2011
    saalek110 از این پست تشکر کرده است.
  13. elicaco

    elicaco New Member

    ارسال‌ها:
    19
    تشکر شده:
    11
    امتیاز دستاورد:
    1
    آشنایی با 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]​
     
    آخرین ویرایش: ‏24 اکتبر 2011
    نوشته شده توسط elicaco در ‏24 اکتبر 2011

به اشتراک بگذارید