گرافیک در سی شارپ

  • آموزش برنامه نویسی گرافیک در سی شارپ_قسمت نهم

    آموزش برنامه نویسی گرافیک در سی شارپ_قسمت نهم

    امام علی علیه السلام فرمودند: أشَدُّ الذُّنُوبِ مَا اسْتَهَانَ بِهِ صَاحِبُهُ.سخت ترین گناهان آن است كه صاحبش آن را كوچك بشمرد. ایجاد کنترل : ابتدا یک پروژه ایجاد می کنیم سپس در قسمت solution Explorer  بر روی نام راست کلیک کرده و Add -- >User Control را انتخاب می کنیم : در واقع ما می توانیم با user Control کامپوننت خاصی را ایجاد کنیم مثلا کامپوننت TextBox ، RadioButton ،    CheckBox ، ComboBox و یا هر چیز دیگری که نیاز داریم.    برای سلامتی امام زمان ، خانوادم ، همه مردان عالم وظهور آقا امام زمان یک صلوات بفرستید برای دانلود آموزش اینجا را کلیک کنید



  • عضویت در بخش:آموزش برنامه نویسی سی شارپ c# windows Application

    به نام خدا راه اول : دوستان گرامی برای عضویت در بخش c# window Application باید مبلغ ۱۵۰۰۰تومان به حساب زیر وارد کرده سپس به  ایمیل ما مشخصات خود و شماره کارتی که پول را واریز کرده اید را ارسال کنید در کمتر از۲۴ ساعت فایلهای آموزش برنامه نویسی سی شارپ c# window Application و کدهای برنامه ها به ایمیل شما ارسال خواهد شدو در صورتی که عجله زیادی دارید یک اس ام اس به شماره زیر ارسال کنید تا به سرعت ارسال شود: راه دوم :(طرح آزمایشی ) جدید این دسته از دوستان میتوانند ابتدا یک اس ام اس به شماره زیر بزنن ودرخواست آموزشهای سی شارپ را داشته باشند و بعد از اینکه فایلها را دریافت کردن مبلغ ۱۵۰۰۰ تومان را به شماره کارت زیر واریز کنند. شماره کارت برای واریز پول : شماره کارت : ۶۱۰۴۳۳۷۱۰۳۰۶۲۴۵۹ بانک ملت   دارنده حساب :سعید رحیمی کشکولی    Email: [email protected]  Tell: 09365705583

  • آموزش برنامه نویسی گرافیک در سی شارپ_قسمت یازدهم

    آموزش برنامه نویسی گرافیک در سی شارپ_قسمت یازدهم

    امام علی علیه السلام فرمودند: مِنْ كُنُوزِ الْجَنَّةِ الْبِرُّ وَ إِخْفاءُ الْعَمَلِ وَ الصَّبْرُ عَلَى الرَّزايا وَ كِتْمانُ الْمَصائِبِ.از گنجهاى بهشت; نيكى كردن و پنهان نمودن كار[نيك] و صبر بر مصيبتها و نهان كردن گرفتاريها (يعنى عدم شكايت از آنها) است. آیا می دانستید که کامپوننت هایی که با دستورات گرافیکی نوشته می شوند سرعت اجرایی بالاتری نسبت به کامپوننت های آماده موجود در Toolbox سی شارپ دارند؟ آیا می خواهید یک کامپوننت عالی با دستورات گرافیکی سی شارپ بنویسید؟  پروژه کوچک زیر با استفاده از دستورات گرافیکی سی شارپ نوشته شده است.شما می توانید آنرا دانلود و مطابق سلیقه خودتان آنرا تغییر دهید و از کدهای آن در پروژه های خود استفاده کنید در این پروژه که یک فرم با استفاده از دستورات گرافیکی به چند قسمت از دید کاربر تقسیم شده است و همچنین به شکلهای متفاوتی (دایره و مستطیل) در آمده است و تصاویر و دکمه ها در هر کدام از این قسمتها نمایش داده می شود. برای دریافت فایل اجرایی اینجا را کلیک کنید. قسمتهای اصلی این پروژه با دستورات گرافیکی سی شارپ ایجاد شده است. برای دریافت کدهای فایل:  برای دریافت کدهای فایل مبلغ ۲۰هزار تومان به شماره کارت زیر واریز کنید سپس به  ایمیل ما مشخصات خود و شماره کارتی که پول را واریز کرده اید را ارسال کنید و یک اس ام اس به ما بزنید و درخواست خود را اعلام کنید در کمتر از۶ ساعت کدهای برنامه به ایمیل شما ارسال خواهد شد و در صورتی که عجله زیادی دارید یک اس ام اس به شماره زیر ارسال کنید تا به سرعت برای شما ارسال شود:شماره کارت برای واریز پول : شماره کارت : ۶۱۰۴۳۳۷۱۰۳۰۶۲۴۵۹ بانک ملت   دارنده حساب :سعید رحیمی کشکولی    Email: [email protected]  Tell: 09365705583

  • گرافیک در سی شارپ

    پروژه درس گرافیک کامپیوتریکار با اشیا گرافیکی سی شارپ دانلود سورس کد : http://www.mediafire.com/download/h0km1m3i9catw53/Cat.rarرمز فایل : www.payamdarabi.blogfa.com

  • مقدمه اي بر سي شارپ : قسمت سوم

    مقدمه اي بر سي شارپ : قسمت سوم ساختارهاي تصميم گيري : در بسياري از موارد هنگام برنامه نويسي لازم است تا از عبارات شرطي استفاده كنيم. براي انجام اينكار دو روش عمده وجود دارد. استفاده از if و يا switch . از if بيشتر براي مقايسه هايي تكي و كوچك استفاده مي شود و حاصل مقايسه ي آن يا true است و يا false . از عبارت switch هنگامي استفاده مي شود كه مقايسه هاي متعددي بايد در مورد يك مقدار صورت گيرد. هر دو عبارت if و switch توسط عبارتهايي Boolean كنترل مي شوند ( true و يا false ) . در هنگام استفاده از if اگر عبارت Boolean حاصل اش true باشد اولين قسمت شرط اجرا مي شود و سپس برنامه از انتهاي if ادامه پيدا مي كند. اگر حاصل عبارت Boolean مساوي false باشد كنترل برنامه به قسمت else منتقل مي شود. مثال : يك پروژه ي جديد console باز كنيد و نام آنرا ex04 بگذاريد. سپس كد زير را در آن وارد و جرا كنيد : <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> using System; namespace ex04 { class Class1 { [STAThread] static void Main(string[ ] args) { Console.WriteLine("Enter 1 character to be evaluated"); char cUserInput = (char) Console.Read(); if ( char.IsDigit( cUserInput ) ) Console.WriteLine("The char is a number!"); else Console.WriteLine("The char is not a number!"); } } } نكاتي در مورد كد فوق : 1- سي شارپ به كوچكي و بزرگي حروف حساس است . براي مثال cUserInput با cUserinput فرق مي كند. 2- حتما بايد بعد از if پرانتزها ذكر گردد. 3- حتما بايد داخل if يك عبارت Boolean ذكر شود مانند if(x>5) . 4- در سي شارپ مقايسه ي تساوي دو عبارت با == و انتساب با = انجام مي شود. ( موارد 1 و 4 مواردي هستند كه اغلب تازه كاران با آن مشكل دارند! ) براي مثال if(i==3) صحيح است اما if(i=3) در سي شارپ معنايي ندارد. 5- اگر بعد از if يك خط كد قرار گيرد نيازي به آوردن آكولاد ها نيست. هنگامي نياز به آكولادها مي باشد كه بيش از يك خط بايد بعد از if قرار گيرد. 6- در سي شارپ همانند اسلاف خودش براي تبديل نوع هاي داده ايي مي توان به صورت زير نيز عمل كرد : (char) Console.Read() ; يعني دريافتي Read به char تبديل مي شود .در اين مورد باز هم صحبت خواهد شد. 7- همانطور كه ذكر شد در سي شارپ همه چيز شيء است حتي نوع هاي پايه ايي مانند char . با استفاده از متد IsDigit آن مي توان چك كرد كه آيا ورودي آن عدد است يا خير؟ ( در مورد متدها صحبت خواهد شد ) استفاده از switch : بهتر است اين مورد را با يك مثال دنبال كنيم. پروژه ي سي شارپ جديدي به نام ex05 در حالت console در VS.NET باز كنيد. دراينجا مي خواهيم يك كلاس جديد تعريف كرده و توسط خاصيتي كه در آن ايجاد مي كنيم متوجه شويم روز جاري مطابق سيستم چه روزي است . يك كلاس جديد از منوي پروژه ،‌با استفاده از گزينه ي Addclass به برنامه اضافه كنيد و نام آنرا در ابتدا clsDate بگذاريد. using System; namespace ex05 { /// /// Summary description for clsDate. /// public class clsDate { public clsDate() ...

  • مقدمه اي بر سي شارپ : قسمت بيستم

    مقدمه اي بر سي شارپ : قسمت بيستم Delegates Delegates در سي شارپ روشي مطمئن و typesafe را براي بكار گيري مفهوم function pointer ارائه مي دهند. يكي از ابتدايي ترين استفاده هاي function pointers پياده سازي callback مي باشد. اما در ابتدا لازم است تا با اصول اوليه ي كاري آن آشنا شويم. مثال يك : يك delegate چگونه تعريف و استفاده مي شود؟ Delegate يك شيء است كه بيانگر يك تابع مي باشد بنابراين مي تواند بعنوان آرگومان ورودي يك تابع ديگر و يا عضوي از يك كلاس بكار رود. در زبان "function-pointer" ، Func1() اشاره گري به Func2() را بعنوان پارامتر دريافت كرده و نهايتا آنرا فراخواني مي كند. در زبان "delegate" ، Func1() يك شيء delegate از Func2() را دريافت كرده و سپس آنرا فراخواني مي كند. در مثال زير از دو تابع براي شرح اين مطلب سود جسته شده است: Func1() از delegate استفاده مي كند. Func2() يك delegate است. ( شماره گذاري خطوط ، در كد زير ، صرفا براي راحت تر شدن توضيحات در مورد آنها است و لزومي به تايپ آنها در برنامه ي اصلي نيست. ) <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 01 using System; 02 delegate void Delg(string sTry); 03 public class Example1{ // function which uses the delegate object 04 private static void Func1(Delg d){ 05 d("Passed from Func1"); 06 } // function which is passed as an object 07 private static void Func2(string sToPrint){ 08 Console.WriteLine("{0}",sToPrint); 09 } // Main execution starts here 10 public static void Main(){ 11 Delg d = new Delg(Func2); 12 Func1(d); 13 } 14 } LINE 02 يك شيء delegate را براي Func2 تعريف مي كند. LINE 04-06 تابعي را تعريف كرده است كه آرگومان ورودي آن از نوع Delg است. LINE 07-09 تابعي را تعريف مي كند كه بايد به صورت delegate به تابع ديگر فرستاده شود. LINE 10-14 تابع Main اجراي برنامه را با ايجاد يك شيء delegate براي Func2 آغاز كرده و سپس تابع Func1 را فراخواني مي كند. مثال 2: چگونه مي توان از delegates در كارهاي عملي استفاده كرد؟ طرح يك مساله: شخصي تقاضاي ثبت نام در يك مؤسسه ي آموزشي و همچنين تقاضاي كاريابي در يك شركت را داده است. هر كدام از اين نهادها روشي خاص خود را براي ارزيابي شخص دارند. راه حل (با روشي شيء گرا): شخص مشخصاتي همچون سن / جنس / ميزان تحصيلات قبلي / تجربيات كاري و مدارك مرتبط دارد. مؤسسه ي آموزشي تعدادي از اين مشخصات را براي ارزيابي شخص استفاده مي كند و اين امر در مورد شركت ياد شده نيز صادق است. شيء شركت و شيء آموزشگاه هر كدام توابع ارزيابي خاص خودشان را پياده سازي مي كنند. شخص ، اينترفيسي واحدي را در اختيار شركت / آموزشگاه براي ارزيابي خود قرار مي دهد. پياده سازي (با استفاده از سي شارپ): ما delegate‌ايي را تعريف مي كنيم كه بيانگر اينترفيسي است كه به شركت و آموزشگاه اجازه ي چك كردن شخص را مي دهد. سه كلاس school و company و person را تعريف مي نماييم. كلاس test را براي آزمودن اين موارد ايجاد مي كنيم. 01 using ...

  • گرافیک در سی شارپ(استاد دوره : مهندس وحید اشرف)

    الگوریتم رسم خط در سی شارپ: ابتدا یک عکس یا جعبه عکس در فرم قرار می دهیم: publicpartialclassForm1 : Form {Bitmap mybmp; ilag3=0; int x1, x2, y1, y2,x3,y3; Color mycolor; string address; برای نگهداشتن عکسmy bmp تعریف متغیر ها: یک متغیر برای ذخیره رنگ فعلی و یک متغییر از نوع عکس به نام  //*********************** void line(int x1, int y1, int x2, int y2) { int step = 0, k, dx = x2 - x1, dy = y2 - y1; float x = x1, y = y1, xinc = 0, yinc = 0; if (dx > dy) step = dx; else step = dy; xinc = dx / (float)step; yinc = dy / (float)step; mybmp.SetPixel(Convert.ToInt32(Math.Round(x)), Convert.ToInt32(Math.Round(y)), mycolor); for (k = 1; k <= step; k++) { x += xinc; y += yinc; mybmp.SetPixel(Convert.ToInt32(Math.Round(x)), Convert.ToInt32(Math.Round(y)), mycolor); } pictureBox1.Refresh(); } //****************************************************************/ privatevoid pictureBox1_MouseClick(object sender, MouseEventArgs e) { if (x1 < x2) { if (bold == 1) { for (int i = 1; i < 4; i++) line(x1, y1 + i, x2, y2 + i); } if (bold == 2) { for (int i = 1; i < 8; i++) line(x1, y1 + i, x2, y2 + i); } } if (x1 > x2) { if (bold == 1) { for (int i = 1; i < 4; i++) line(x2, y2 + i, x1, y1 + i); } if (bold == 2) { for (int i = 1; i < 8; i++) line(x2, y2 + i, x1, y1 + i); } } picturebox1.image=mybmp; عکس را رد جعبه عکس قرار می دهیم }  

  • آموزش برنامه نویسی سی شارپ C# windows Application - قسمت ششم

      معرفی کنترل   RadioButton و Check Box در c# : RadioButton: با استفاده از این دکمه ها مى توانید سوالى را از کاربر پرسیده و کاربر را مجبور سازید که تنها یکى از گزینه هاى جواب را انتخاب کند، فرق اساسى این نوع دکمه ها با Check Box هم در همین است. آموزش کار با RadioButton : آموزش را با یک مثال آغاز می کنیم : برای دانلود آموزش به طور کامل اینجا را کلیک کنید

  • مقدمه اي بر سي شارپ : قسمت هفتم

    مقدمه اي بر سي شارپ : قسمت هفتم تعريف متدها در سي شارپ در اين قسمت به يكي از مهمترين مباحث برنامه نويسي سي شارپ مي رسيم. متدها در سي شارپ و يا همان توابع در زبان C ، اعضاي يك شيء يا كلاس هستند و مجموعه اي از يك سري از كارها را انجام مي دهند. فرض كنيد در برنامه ي شما ، قسمتي بايد يك عمليات رياضي خاص را انجام دهد و اين قسمت از كد كه شامل چندين خط نيز مي گردد بايد بارها و بارها در برنامه صدا زده شود. براي نظم بخشيدن به برنامه ، آنها را مي توان به صورت توابع بسته بندي كرد و بجاي نوشتن چندين خط تكراري، فقط نام اين بسته ( تابع ) و پارامترهاي آن را فراخواني نمود. در سي شارپ يك تابع به صورت زير تعريف مي شود : <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> (نوع و اسامي پارامترها) نام تابع نوع خروجي تابع سطح دسترسي به تابع } بدنه ي تابع { براي تعريف يك متد يا تابع ابتدا سطح دسترسي به آن مانند public و private سپس نوع خروجي تابع مانند void ( هيچي ) ذكر مي گردد كه داخل اين پرانتزها مي توان ورودي هاي تابع يا بقولي آرگومان هاي ورودي را معرفي كرد. سپس تابع بايد با { شروع و با يك } خاتمه يابد. براي مثال : public int myFunc( int x ) { ...…. } هر تابعي مي تواند صفر تا تعداد بيشماري آرگومان ورودي و صفر تا تعداد بيشماري خروجي داشته باشد. بوسيله يك تابع مي توان پيچيدگي كار را مخفي كرد و صرفا با صدا زدن نام آن ، يك سري از عمليات را انجام داد. گاهي از اوقات لازم مي شود دو يا چند تابع با يك نام داشته باشيم بطوريكه پارامترهاي ورودي يا مقادير خروجي و يا نوع آرگومان هاي ورودي آنها با هم متفاوت باشد به اين كار overloading مي گويند. بسياري از كلاس هاي دات نت فريم ورك متدها و يا توابع مفيد حاضر و آماده اي را دارند. براي مثال كلاس DateTime ، متدي به نام ToLongDatastring دارد كه تاريخ را به صورت يك رشته طولاني بر مي گرداند. توابع void : توابعي كه با نوع void معرفي مي شوند هيچ خروجي ندارند و در زبان ويژوال بيسيك به آْنها sub و در دلفي به آنها procedure مي گويند. بازگرداندن يك مقدار از يك تابع : پس از اينكه عمليات يك مجموعه از كدها درون تابع به پايان رسيد با استفاده از كلمه ي return مي توان خروجي تابع را معرفي كرد. لازم به ذكر است ، هرجايي اين كلمه ي return ذكر شود كار تابع خاتمه مي يابد. مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex13 انتخاب نماييد. در اينجا مي خواهيم تابعي را تعريف كنيم كه سه برابر جذر يك عدد را بر مي گرداند. using System; namespace ex13 { class Class1 { [STAThread] static void Main(string[ ] args) { Console.WriteLine( int3SQL(3) ); Console.ReadLine(); } public static double int3SQL( double intInput ) { double i=0; i = Math.Sqrt( intInput ); return i; } } } توضيحاتي در مورد كد فوق ...

  • آشنایی با کلاسها و اشیا (3)

    وراثت :: Inheritanceیکی از مهمترین مباحثی که در برنامه نویسی زبانهای شی گرا (مانند سي شارپ و وي بی دات نت) وجود دارد، وراثت یا Inheritance است. وقتی که ما یک پروژه ویندوزی مانند برنامه Hello World رو شروع می کنیم، محیط برنامه نویسی ویژوال استدیو (Visual Studio .NET Integrated Development Environment) یک تعریف به شکل زیر رو ایجاد می کند: public class Form1 : System.Windows.Forms.Form این تعریف به معنای این است که فرم ایجاد شده فرزند کلاسی به نام Form است. که دارای مفاهیم بسیار قوی است. ما می توانیم اشیایی رو بسازیم و خصوصیات آنها رو تغییر بدهیم. در این صورت رفتار هر شی بصورت خاص همان شی ولی در کل مشابه کلاس اصلی خواهد بود. در زیر مثالهایی برای این موضوع رو می بینید:سازنده ها: (Constructors)همه کلاسها دارای یک سازنده یا Constructor هستند که در زمان ایجاد یک نمونه از کلاس فراخوانی می شوند. سازنده همیشه همنام با نام کلاس است. اگر به کد تولید شده در برنامه Hello world نگاهی بیندازید، کدی مشابه کد زیر را خواهید دید: /// Sample Code 1public class Form1{  public Form1() //constructor  {    InitializeComponent();  }}زمانی که یک کلاس را تعریف می کنید، باید یک سازنده برای مقداردهی اولیه آن ایجاد نمایید. البته می توانید پارامترهایی رو به اون ارجاع بدید تا مقداردهی آرگومانهای کلاس مطابق آنچه شما مد نظر دارید مقداردهی شوند. اگر شما برای کلاسی که می نویسید سازنده قرار ندهید، یک سازنده بدون آرگومان در حالت مخفی ساخته می شود.متد InitializeComponent توسط IDE ساخته شده که حاوی دستورات ساخت و جانمایی کنترلها روی صفحه است. اگر احتیاج به مقداردهی و یا اجرای دستورات خاص دیگری باشد، من یک متد دیگر معمولا به نام Init ایجاد می کنم و دستورات مورد نظر را در آن قرار می دهم. این متد پس از فراخوانی InitializeComponent فراخوانی می شود: /// Sample Code 2public Form1() //constructor{  InitializeComponent();  Init();}private void Init(){  pi=3.141259f; //set initial value of pi}رسم و گرافیک در سی شارپ[این مطلب در خصوص وراثت آمده و در بخش های بعدی مطلب گرافیک بصورت مجزا مورد بحث قرار خواهد گرفت]در اولین مثال ما یک برنامه گرافیکی داریم که دارای یک PictureBox است و می خواهیم که یک خط در آن رسم کنیم، در سی شارپ، رسم محتویات پنجره به عهده سیستم ویندوز خواهد بود در زمان این اتفاق رویداد Paint مورد استفاده قرار می گیرد. پس می توانیم کد مورد نظر خود را در این رویداد بنویسیم تا در زمان فراخونی رویداد Paint شکل مورد نظر ما نیز رسم شود. (رویداد paint در زمانهایی مثل تغییر سایز، رسم مجدد، مخفی شدن قسمتی از پنجره اتقاق می افتد) برای این منظور یک کنترل PictureBox روی فرم قرار داده شده.یک رویداد Paint به کنترل تصویر اضافه کرده، کدی مانند کد زیر ایجاد می شود: private void pic_Paint(object ...