ليکوال: James Foxall
ژباړن: عبدالله هنرمل
يادونه: ګرانو کتونکو دا لړۍ پنځه څپرکي او پنځه ويشت لوسته ده، چې هر لوست به د يوې برخې په توګه وړاندې کېږي، بايد وويل شي په دې برخه کې د ټولو خپرېدونکو موادو حقوق له افغانسافټ سره خوندي دي، هېڅوک نه شي کولاى د کتاب په بڼه يې چاپ کړي.
لومړى څپرکى:
سي شارپ (#C) او چاپېريال يې
مخکې له دې چې په سي شارپ کې يو پروګرام د وينډوز يا هم ويب لپاره وليکئ د نوموړي چاپېريال او هغه بدلونونه چې پر همدې پروګرام پلي کېږي ډېر مهم بولم چې تشرېح شي او زما موخه هم دا ده چې په اړه يې پوره پوه شئ. په دې برخه کې د سي شارپ پر پروجيکټ د بدلونونو د پلي کولو په اړه معلومات لولئ نوموړي عبارت دي له:
C# Interfaces
Objects
Collection
Event
که د پورتنيو توکو په اړه پوره پوه شئ د سي شارپ پر چاپېريال د بدلونونو د پلي کولو پر مهال له کومو ستونزو سره نه مخېږئ، پر دې برسېره ستاسو پوره ملاتړي هم ګڼل کېږي.
د دې څپرکي مهم ټکي
لومړى لوست: يو کوچنى پروګرام ليکل
دوهم لوست: سي شارپ پنځول
درېيم لوست: Objects او Collections پېژندل
څلورم لوست: Events پېژندل
لومړى لوست
يو کوچنى پروګرام ليکل
په دې لوست کې پر لاندنيو ټکو ږغېږو:
يو ساده او کارن پروګرام ليکل
يوه کاروونکى د کمپيوټر پر لټولو توانول
په کمپيوټر کې د پرتو تصويرونو له ډلې يو ښودل
د Programming ژبې په اړه څه نا څه معلومات
د Visual Studio .NET د IDE په اړه معلومات
د يوې نوې Programming ژبې زده کول اسان کار نه دى، که تاسو مخکې له کومې ژبې سره اشنايي ونه لرئ هر تورى يې د ليکلو پر مهال د پېچلو الفاظو په توګه ښکاري، يو نرم او ځواکمن پروګرام جوړول دجادو بڼه خپلوي ښايي تاسو په دې اند شئ چې موږ د هغو توکو په اړه څنګه پوره معلومات لاس ته راوړو چې غواړو يې، ځواب يې دا دى چې له وخته ګټه پورته کړئ او د نورو کارونو په څېر د ژبي پر زده کړي هم باور ولرئ.
د ژبي (Programming) يو لورى مهارت او بل يې ساينس دى، که څه هم د جادو بڼه خپلوي، بايد ووايم په دې کتاب کې مو د ژبې له ليکلو څخه موخه Programming Language ده.
که غواړئ د #C د توکو په اړه پوره پوه شئ، وهم به غورځوئ، په دې ډول ډېرې لوړې ژوري هوارېږي او تاسو ازادېږئ همداسې د موخو په ترلاسه کولو کې مو ستر برى په برخه کېږي. په دې لوست کې تاسو يو وړوکى پروګرام په #C کې د جوړېدونکو پروګرامونو له لړ څخه د يوې بېلګې په توګه ليکئ، تر څو کرار کرار هغه مقام خپل کړئ چې وکړاى شئ يو وړوکى شان پروګرام وليکى، ما يو کوچنى پروګرام (Hello World) ليدلى دى، چې تر يوه ځايه ښايي ملا مو وتړي، نوموړى پروګرام نور څه نه شي کولاى يوازي د پردې پر مخ Hello World د ټوکو په شکل ليکي. موږ به د نوموړي پر ځاى يو تصوير ښودونکى پروګرام وليکو چې په کمپيوټر کې د پرتو تصويرونو له ډلې څخه يو وښيي.
دا لوست بس د همدې موخې لپاره ځانګړى شوى چې يو کاروونکى به څنګه يو فايل لټوي او نوموړى به څنګه د ليکل شوي پروګرام له لورې دکمپيوټر پر پرده غوړوي، دا دواړه مهارتونه بلل کېږي چې لږ وروسته ور سره مخېږئ.
هغه تخنيکونه چې په دې لوست کې زده کوئ په نړۍ کې د پروګرام ليکلو تر ټولو ستر هغوى يادېږي، او د دې لوست تر ټولو ستر ارمان هم د سي شارپ وړتيا ښودل دي چې څومره ساده او ښايسته پروګرامونه ليکلاى شي.
سي شارپ پنځول
مخکې له دې چې په سي شارپ کې يو پروګرام وليکئ لاندني ټکي مه هېروئ:
Distributable Component: د پروجيکټ مکمله او وروستۍ نسخه (Version) پر څو برخو وېشل کېږي نوموړې برخې چې د کارولو لپاره يې سي شارپ ته اړتيا نه وي نورو خلګو او نورو کمپيوټرونو ته استول کېږي، (که څه هم دNET. اړتيا وي خو په دې اړه وروسته ږغېږو)، خپرېدونکي توکي يعنې چې په يوه کمپيوټر کې ډيزاين شوي وي او په نورو کمپيوټرونو کې کارېږي اکثره وخت پروګرامونه بلل کېږي، په ٢٣ لوست کې به په دې پوه شئ چې همدا پروګرام څنګه نورو کمپيوټرونو ته خپرېږي، ځکه نوموړى په يوه کمپيوټر کې ليکل شوى او په نورو کې بايد کار شي.
Project: د هغو فايلونو ټولګه بلل کېږي چې په Compile کېدو سره يې يو پروګرام په لاس راځي، دلته ګڼ شمېر پروجيکټونه موجود دي او تر ډېره بريده هر پېچلى پروګرام د ګڼو پروجيکټونو زېږنده بلل کېږي د بېلګې په توګه Windows Application پروجيکټ چې د DLL پروجيکټونو سره ځانګړى اړيکى لري.
Solution: د پروجيکټونو او فايلونو غونډ بلل کېږي چې د يوه پروګرام ليکلو ته د پاى ټکى ږدي.
Visual Studio .NET د يوه پروګرام ليکلو ماحول بلل کېږي چې تفصيل يې IDE دى او نوموړى د
integrated development environment لنډيز دى، نوموړى هر ډول ابزارونه لري چې په مرسته يې د سي شارپ ګڼ شمېر پروجيکټونه ليکلاى او ترتېبولاى شئ، د Visual Studio 2008 له لارې په نورو بېلابېلو ژبو هم پروګرامونه ليکلاى شئ، په نوموړي کې د زيات شهرت څښتن سي شارپ بلل کېږي، د Visual Studio چاپېريال ته سي شارپ نه بلکې په نوموړي کې چې کومه ژبه د Programming په موخه کارېږي سي شارپ بلل کېږي، د سي شارپ پر پروجيکټونو د کار کولو لپاره بايد د Visual Studio 2008 IDE پرانيزئ.
د Visual Studio2008 Professional د پرانيستلو په موخه په پيل تڼۍ کې د نوموړي نوم کليک کړئ، که د نوموړي نسخه په پوره توګه ستاسو په لاس کې وي د پرانيستلو پر مهال له څو پوښتنو سره مخ کېږئ، په يادوو شوو توکو کې #C په نښه کړئ او د OK تڼۍ کليک کړئ، له لاندني شکل سره مخېږئ:
نوى پروجيکټ جوړول
د لومړي ځل لپاره چې Visual Studio2008 پرانيزئ په IDE کې د نوموړي له لومړنۍ پاڼې (Start Page) سره مخېږئ، د نوموړې پاڼې په مرسته يو نوى يا هم پخوا جوړ شوى پروجيکټ پرانستلاى شئ، د اوس لپاره پر
Create Project کليک وکړئ او د يوه نوي پروګرام ليکلو بنسټ کښېږدئ، په دې ډول د New Project پاڼه د پردې پر مخ پرانيستل کېږي، لاندني شکل ته ځير شئ: که د Visual Studio لومړنۍ پاڼه د پردې پر مخ نه ښکارېږي، Setting يې تغير کړئ، په دوهم لوست کې پر همدې ټکي ږغېږو، بايد ووايم په روان لوست کې په ليکل شوو لارښوونو کټ مټ عمل وکړئ تر څو يوه نوي پروګرام ليکلو ته د پاى ټکى کښېږدئ.
په نوموړې پاڼه کې ګڼ شمېر پروجيکټونه جوړولاى شئ، له دې سره سره د Net. د درېځ له مخې د نورو کمپيوټري ژبو پروجيکټونه هم د New Project پر پاڼه د سي شارپ د پروجيکټ غوندې په نښه کولاى شئ او وروسته ځنې بدلونونه پر پلې کولاى شئ.
د New Project په پاڼه کې د Visual C#pسرليک دوه ځله کليک کړئ چې په کې پراته توکې لڅ شي، په لڅو شوو توکو کې Windows او د پاڼې په کېڼ اړخ کې Windows Forms Application په نښه کړئ، همداسې د نوي پروجيکټ لپاره نوم غوره کړئ او هم يې د زېرمه کولو ځاى په نښه کړئ. لاندني شکل ته وګورئ: د نوموړې پاڼې له لارې د نورو پروګرام ليکونکو پروګرامونو پروجيکټونه هم په نښه کولاى شئ، نوموړې عبارت دي C++, Visual Basic او....
Picture Viewer د نوي پروجيکټ نوم وټاکئ او سيمه يې مه بدلوئ ورپسې د OK تڼۍ کليک کړئ که نوي پروجيکټ ته نوى نوم ورکول غواړئ يا يې هم له يوه ځايه بل ته وړئ ټولې کړنې به د ډېر پام له مخې تر سره کوئ يعنې کله کله يو پروجيکټ ورانېږي هم، سي شارپ ستاسو نوى پروجيکټ جوړوي، تر جوړولو وروسته يې د يوې ډيزاين کړکۍ په بڼه د پردې پر مخ غوړوي لاندني شکل ته وګورئ:
د روان لوست د سي شارپ چاپېريال ښايي له نورو سره څه نا څه توپير ولري، ستره وجه يې د نوموړي بېلابېل ورژنونه دي چې پر بېلابېلو چاپېريالونو کار کوي، روښانه بېلګه يې پخوانى سي شارپ يا هم لکه د مونيټور د Resolution بدلوونکې پاڼې چې په هر وينډوز کې بېلابېلې بڼې لري يادولاى شو. په دې لوست کې چې کوم عناصر لوستل کېږي، هغوى د سي شارپ په ټولو عامو ورژنونو کې موجود دي.
C# Environment پېژندل
د لومړي ځل لپاره چې سي شارپ پنځوئ دا خبره ياد ولرئ چې په IDE کې به ډېرې نورې کړکۍ هم پرانيستل شوي وي، لکه د Properties کړکۍ چې په مرسته يې د ابجيکټونو Properties او څېرې عيارولاى شو، په دې کړکيانو کې ګڼ شمېر ټبونه موجود وي، د بېلګې په توګه Toolbox هم يو ټب دى چې د پروګرام په کېڼ اړخ کې پروت دى پورتني شکل ته ځير شئ، نوموړى تر کليکولو وروسته د پردې پر مخ د ور سره لرونکو توکو ليست غوړوي، Toolbox د نوموړي ليست د ليدلو په موخه کليک کړئ، که د موږک نښه يوازې د څو ثانيو لپاره ور نژدې کړئ نوموړې په خپله پرانيستل کېږي او که غواړئ و يې تړئ د موږک نښه ځنې ليري کړئ، او که کړکۍ په مکمله توګه بندول وغواړئ د x نښه يې کليک کړئ، په همدې بڼه د هرې کړکۍ شکل او کړنلارې ته تغير ورکولاى شئ پر دې برسېره د خپلې خوښې له مخې يې چاپولاى هم شئ، د نورو معلوماتو لپاره دوهم لوست ولټوئ.
په سي شارپ کې هېڅ يو توکى په غبرګ کليک مه پرانيزئ ځکه په دې ډول نوموړى د کوډ ليکلو کړکۍ ته ځي، که په غلطۍ سره پر يوه توکي دوه ځله کليک وکړئ د کوډ ليکلو پاڼه يې پرانيستل کېږي، د همدې کړکۍ په اوچته برخه کې هم ګڼ شمېر ټبونه موجود وي، د هغوى له ډلې څخه پر فارم ډيزاين کليک وکړئ چې د کوډ ليکلو کړکۍ غايبه شي او خپل پروجيکټ ته را وګرځئ.
داسې يو پروګرام ليکل چې په بل کمپيوټر کې هم وچلېږي يوه پراخ پروجيکټ ته اړتيا لري او ټولې برخې يې بايد مکملي شي، نوموړى په برياليتوب سره چلول يا هم يو DLL په مکمله توګه ليکل په شلم لوست کې لوستلاى شئ، په دې ځاى کې يې يادونه دا معنا ورکوي، که تاسو له يو چا څخه د يوه پروګرام ليکل اورئ بايد په دې فکر شئ چې نوموړى د پروجيکټ د ټولو مرحلو تر طى کولو وروسته د تکميل پړاو ته داخلېږي لکه همدا اوس چې د يوه تصوير ښودونکي پروګرام ليکلو پر لور ګام اخلئ.
د IDE په ښې اړخ کې پرته د Properties کړکۍ هر مهال په کار راځي او نوموړې ډېره اړينه ده، که د کمپيوټر د پردې ګچه مو 640X480 وي په نوموړې کړکۍ کې ډېر کم توکي ليدل کېږي، دا ډول د پروجيکټ د Property په ليدلو او بدلولو کې ډېري ستونزې لري، زموږ سپارښتنه دا ده چې د پردې ګچه مو تر 800X600 کمه مه پرېږدئ، په ځانګړې توګه هغه مهال چې پر Visual Studio کار کوئ.
د کمپيوټر پرده د 1024X768 ګچې له مخې ټاکل د کار لپاره خورا ښه زمينه مساعدوي، د نوموړې ګچې د بدلولو په موخه پر Desktop د موږک ښې تڼۍ کليک کړئ او له پرانيستل شوي ليست څخه Properties يا هم Personalize کليک کړئ ورپسې د Settings پاڼې ته لاړ شئ او د پردې ګچه مو بدله کړئ.
د ابجيکټونو ځانتياوې بدلول
په سي شارپ کې چې هر کار کوئ ابجيکټ بلل کېږي، پر فارم باندې د کار کولو پر مهال ټول ابجيکټ کارېږي، همدا ډول کوم توکي چې پر فارم وينئ لکه Buttons, List Boxes او... ټول ابجيکټونه دي چې په درېيم لوست کې په دې اړه پوره ږغېږو.
ابجيکټونه د جوړښت له مــخې بېلابېل ډولونه لري د بېلګې په ډول په Form1 کې فارم ابجيکټ بلل کېږي، کوم توکي چې پر فارم اېښودل کېږي هغوى ته Control Object يا هم Control ويل کېږي، ځينې ابجيکټونه په ظاهره نه ښکاري او د يوه کوډ په شانې وي يعنې ځينې پټ ځينې ښکاره وي چې په اړه يې وروسته ږغېږو.
هر ابجيکټ که ښکاره وي او که پټ په ځانګړې Attributes کې اوسېږي همدا د ابجيکټ Properties بلل کېږي، د بېلګې په توګه تاسو هم د خپلو ځانګړنو له مخې پېژندل کېږئ لکه څهره، قد، د وېښتانو رنګ او... دا ډول سي شارپ هم تر همدې ځانګړنو لاندې کارېږي چې عبارت دي له سايز، د پردې تر شا رنګونه او... د يوه ابجيکټ د Properties پاڼه د نوموړي کړه وړه ټاکي کله چې يو نوى ابجيکټ جوړوئ تر ټولو مخکې د هغه کړه وړه وټاکئ، تر څو نوموړى ستاسو د خوښۍ له مخې کار وکړي، د يوه ابجيکټ د ځانګړنو د ليدلو په موخه نوموړى په Design View کې کليک کړئ او ځانتياوې يې د Properties پر پاڼه مشاهده کړئ.
ابجيکټونو ته نومونه ټاکل
هغه Property چې تر ټولو مخکې د يوه ابجيکټ د نومولو په موخه کارېږي Name Property بلل کېږي، د نوموړې کړکۍ د ښودلو په نيت د F4 کيلي کښېکاږئ او خپل فارم ته يو نوم وټاکئ.
کله چې په سي شارپ کې يو ابجيکټ جوړوئ د نوموړي د محتوا له پلوه به نوم هم ورته ټاکئ، د بېلګې په توګه د Properties په کړکۍ کې لومړنى نوم د Form1 لپاره غوره کېږي او دوهم د Form2 لپاره، که څه هم دا نومونه توپير سره لري مګر په يوه پروجيکټ کې ګڼ شمېر ابجيکټونه داخلېږي او د هغوى په پېژندګلوۍ کې له ستونزو سره مخېږى او تېروزى، ښه به دا وي چې هر يو يې ځانګړى ونومول شي.
دا يو معمول دى چې په يوه پروجيکټ کې په درزنونو فارمونه داخلېږي او سي شارپ يې په اتوماتيک ډول په خپلو ځانګړو نومونو لکه Form1, Form2, Form3 په مسلسله توګه چې يوازې يې شمېره ور بدلوي نوموي، له همدې امله که يې په ځانګړو نومونو و نه نوموو يوه پېچلې ستونزه منځ ته راځي او نه شو کولاى مطلوب فارم ولټوو.
که يو فارم جوړوئ يا هم يو بل شى، نوموړى يوازې د جوړولو او چلولو له مخې د فارم په ډول کارېږي، له همدې امله مو په دې وړوکې بېلګه کې نوموړي ته د فارم نوم غوره کړى، د نورو معلوماتو لپاره پنځم لوست وګورئ.
د خپلو فارمونو په ښه توګه د اوډلو په موخه هغوى ته ځانګړي نومونه ورکړئ، کله چې يو فارم جوړوئ سي شارپ د هغه د نومولو چانس په لاس درکوي، مګر د لومړنى فارم د نومولو چانس د پروجيکټ جوړېدو پر مهال سي شارپ په لاس نه دى درکړى، له همدې امله اړ ياست چې نوموړى فايل او فارم دواړه په نوي نومونو ونازوئ.
د دې کار په موخه د Name Property کليک کړئ، زوړ نوم (Form1) يې وران کړى او پر ځاى يې PictureViewer وليکئ، په دې ډول مو فارم ته نوى نوم په ګوته کړ، خو که نوموړى فارم د Solution Explorer په کړکۍ وکتل شي نوم يې نه دى تغير شوى. د همدې نامه د بدلولو په موخه په Solution Explorer کړکۍ کې پر Form1.cs د موږک ښې تڼۍ کليک کړئ او له پرانيستل شوي ليست څخه Rename کليک کړئ، نوى نوم يې PictureViewer.cs وليکئ.
سپارښتنه: د خپلو فايلونو فارمونه د خپل اصلي پروجيکټ په نامه ونوموئ.
د فارم Text پراپرټي عيارول
هر فارم خپل ځانګړى نوم چې د پروګرام له لورې ورته ټاکل شوي وي کاروي، دا نوم يوازې څو تورې وي چې Text ورته ويل کېږي او د Properties په کړکۍ کې د Form1 په نامه موجود وي، نوموړي د دې ښکارندوى وي چې د لومړي ځل لپاره فارم جوړ شي سي شارپ يې په ياد شوي نامه نوموي، مګر کله چې تاسو د يوه فارم نوم ته تغير ورکړئ له دې سره د هغه د Text نوم نه بدلېږي، يعنې د Name په Property سره يې Text Property نه بدلېږي.
د يوه فارم پر Title د الفاظو ګچه او... د نوموړي د Text Property له ارزښته ټاکل کېږي، د دې لپاره يو ځل بيا فارم کليک کړئ چې د Properties کړکۍ يې پرانيستل شي، د نوموړې کړکۍ توکې د Scrollbar په مټ کښته لورې ته کش کړئ تر څو له Text Property سره مخ شئ، په نوموړې سيمه کې پخوانۍ ليکنه په Picture Viewer بدله کړئ او د Save all تڼۍ د ټولو بدلونونو د خوندې کولو په غرض کليک کړئ.
د فارم Icon بدلول
هر د وينډوز کاروونکى Icon پېژني، نوموړى د يوه کوچني تصوير غوندي دى او د بېلابېلو پروګرامونو لپاره پر بېلابېلو ډولونو کارېږي، په ټوليز ډول په Start تڼۍ کې د ميشتو پروګرامونو په سر کې پروت وي، په سي شارپ کې نه يوازې دا چې پر Icon واک پيدا کولاى شئ بلکې د خپل فارم لپاره د خپلې خوښي له مخي يو هغه په نښه کولاى شئ، که غواړئ دې کار ته د عمل جامه ور واغوندى لاندنۍ لارښوونې وڅارئ:
١. پر فارم کليک وکړئ.
٢. د Properties په کړکۍ کې Icon کليک کړئ.
٣. د نوموړى د کليکولو سره جوخت يوه کوچنۍ تڼۍ چې يوازې درې ټکي پر ليکلي وي زېږي هماغه تڼۍ کليک کړئ.
٤. په دې ډول يوه وړوکې پاڼه پرانيستل کېږي، د نوموړي پاڼې له لارې په خپل کمپيوټر کې د پرتو ايکنانو له بنډل څخه يو هغه په نښه کړئ ورپسې د Open تڼۍ کليک کړئ.
يا هم د نوموړي Icon نښه دوه ځله کليک کړئ، په دې ډول هم په نښه شوى Icon انتخاب کېږي. کله چې يو Icon په نښه کړئ نوموړى د Icon Property په سيمه کې د Icon له ليکني سره يو ځاى ښکاره کېږي، د فارم او د پروګرام پر سرليکونو يې هم نښه ښکاره وي له دې سره سره يې د وينډوز پر Taskbar هم نښه څرګنده وي، ټاسکبار هغه سيمه ده چې تاسو يو پروګرام پر Minimize کولاى شئ.
زموږ له لورې د په نښه شوي Icon د کارولو اړتيا نشته، د خپلې خوښي له مخې يو هغه په نښه کړئ او د دې بېلګې لپاره يې کار کړئ، مګر هغه مهال چې له تاسو سره کوم Icon موجود نه وي له دې بېلګو څخه پرته ښايي د ستونزو ښکار وګرځئ.
په دې کتاب کې د ټولو کارول شوو بېلګو معلومات د انټرنيټ له پاڼو څخه تر لاسه کولاى شئ، يعنې که غواړئ همدا بېلګې چې په دې کتاب کې تر بحث لاندې نيول شوي په خپله معاينه کړئ لومړني پيوند ته او که غواړئ د دې کتاب هر څپرکى په جلا جلا توګه تر نظر تېر کړئ او هغه پروجيکټونه چې په دې کتاب کې تر بحث لاندې نيول شوي په خپله وګورئ دوهم پيوند ته سر ور ايسته کړئ:
www.samspublishing.com
www.jamesfoxall.com/books.aspx
د فارم ګچه ټاکل
تاسو اوس د فارم د بڼې د ټاکلو پړاو ته داخلېږئ، د Properties په کړکۍ کې د نوموړي د پلنوالي او اوږدوالي دواړه سايزونه موجود دي، يعنې دواړه سايزونه په يوه کور کې ليکل کېږي چې تر منځ يې د بېلوالي لپاره کامه کار شوي ده، د همدې کامې کېڼ لورې ته د فارم پلنوالى او ښې لورې ته يې اوږدوالى ليکلاى شئ، بايد ووايم دواړې شمېري د Pixel له مخې ليکل کېږي. مګر د ځانګړي ګچې د ټاکلو په موخه د Size Property د (+) نښه کليک کړئ او هره ګچه بېله بېله وليکئ لاندني شکل ته ځير شئ:
کوم تصوير ښودونکى پروګرام چې ليکل کېږي د فارم پلنوالى يې ٤٠٠ او اوږدوالى يې ٣٢٥ وټاکئ، د همدى ليکلي سايزونو د پلي کولو په موخه د Enter کيلي کښېکاږئ يا هم په همدې کړکۍ کې يو بله پراپرټي کليک کړئ له لاندني شکل سره مخېږئ:
که د لومړي ځل لپاره پر يوه پروجيکټ کار کوئ سي شارپ نوموړى په ابتدايي ډول په کمپيوټر کې ساتي يعنې کوم بدلونونه چې تاسو پر پلي کړي تر اوسه لا په ميموري کې خوندي دي او په پروجيکټ کې خوندي شوي نه دي، که پر داسې مهال کمپيوټر بند يا هم له سره روښان شي ټول بدلونونه له منځه ځي زموږ سپارښتنه دا ده تر څو چې مو بدلونونه په ښه توګه خوندي کړي نه وي کمپيوټر مه بندوئ، د دې لپاره چې ټول بدلونونه په ښه توګه خوندي شي شېبه په شېبه ځان د هغوى د خوندي کولو سره عادت کړئ، يعنې هر وخت په File مينيو کې Save all تڼۍ يا هم په کېبورډ کې Ctrl+S کيلۍ کښېکاږئ.
فارم ته کنټرولران ور زياتول
تر اوسه جوړ شوى فارم پر خپلو ځانګړنو ولاړ برېښي او نوموړي ته د ابجيکټونو د ور زياتولو اړتيا شته تر څو يو کاروونکى يې په کار واچوي، کوم ابجيکټونه چې فارم ته ور زياتېږي کنټرولران بلل کېږي، يا په بل عبارت په سي شارپ کې ټول کارېدونکي توکي ابجيکټونه يا کنټرولران نومېږي، نوموړي پر دوه ډوله وېشل شوي دي لومړى ډول يې ښکارېدونکي او دوهم ډول يې نه ښکارېدونکي کنټرولران، په دې بېلګه کې دواړه ډولونه په کار اچوو، د پروګرام په کېڼ اړخ يو ټب د Toolbox په نامه موجود دى، په نوموړي کې پراته توکي که غواړئ ووينئ د موږک نښه ور نژدې کړئ يا يې هم کليک کړئ، لاندني شکل ته ځير شئ:
په ياد شوي Box کې ټول هغه کنټرولران پراته دي چې سي شارپ يې د يوه پروګرام ليکلو پر مهال کاروي.چې څو بېلګې يې په دې ډول دي Labels, Textbox, Buttons, Picture box, او.... کله چې د موږک نښه له Toolbox څخه ليري کړئ او په فارم کې يو کنټرول کليک کړئ نوموړى پخپله غايبېږي، د ټولباکس د نه غايبېدو په موخه د نوموړي پر Title موجوده کوچنۍ نښه چې Push Button بلل کېږي کليک کړئ.
ستاسو کوچنى تصوير ښودونکى پروګرام لاندنيو توکو ته اړتيا لري:
١. يو د تصوير ښودلو او بل د پروګرام بندولو کنټرولران
٢. يو Picture Box کنټرول
٣. يو تصوير پرانيستونکى کنټرول
Interface جوړول
په ټوليز ډول پر فارم User Interfaces په ډېره ښه توګه جوړېږي او بيا د نوموړي تر شا کوډ ليکل کېږي تر څو فارم په کار واچوي، ستاسو کوچنى تصوير ښودونکى پروګرام يوې د بندولو تڼۍ، يوې تصوير ښودونکي تڼۍ او يو تصوير باکس ته اړتيا لري او نوموړي ټوله User Interfaces بلل کېږي چې په لاندني ډول يو فارم د کار وړ ګرځوي:
فارم ته ښکارېدونکي کنټرولران زياتول
فارم ته د Button Control ور زياتولو په موخه نوموړى په ټولباکس کې دوه ځله کليک کړئ سي شارپ په خپله يوه نوې تڼۍ جوړوي او د فارم په اوچته برخه کې يې کېڼ لورې ته ږدي لاندني شکل ته ځير شئ، د Properties کړکۍ په کارولو سره د جوړې شوې تڼۍ ځانتياوې عيارولاى شئ، يعنې سي شارپ چې د يوې تڼۍ لپاره کوم ځاى غوره کوي ښايي په دې اړ شئ چې نوموړى هغه يې بدل کړئ ځکه تاسو يوې تڼۍ ته د خپلې خوښې له مخې هم ځاى ټاکلاى شئ، دې موخې ته په اسانۍ سره د رسېدو په هيله د نوموړي د Properties په کړکۍ کې د الفبا له اوډن څخه کار واخلئ.
کله چې په ټولباکس کې Button Control دوه ځله کليک کړئ، د فارم په اوچته برخه کې کېڼ لورې ته ايښودل کېږي، نوموړې تڼۍ کليک کړئ چې Select شي او د Properties په کړکۍ کې يې ځانتياوې په لاندنۍ بڼه وليکئ:
Property
|
Value
|
Name
|
btnSelectPicture
|
Text
|
Select Picture
|
Location
|
295, 10 (295 is X and 10 is Y Coordinate.)
|
Size
|
85, 23
|
تر دې وروسته يوې بلې تڼۍ ته ليدل کېږي چې کاروونکى يې د پروګرام بندولو په موخه کليکوي، د دې پر ځاى چې نوې تڼۍ جوړه کړئ له جوړي شوي هغې څخه کاپي واخلئ، په همدې موخه پر جوړې شوي تڼۍ د موږک ښې تڼۍ کليک کړئ او له پرانيستل شوي ليست څخه Copy ورپسې د فارم پر هره برخه چې وي د موږک ښې تڼۍ کليک کړئ او له پرانيستل شوي ليست څخه Paste په نښه کړئ، د کاپي شوي تڼۍ د Properties په کړکۍ کې د نوموړې ځانګړنې په لاندنۍ بڼه وليکئ:
Property
|
Value
|
Name
|
btnCancel
|
Text
|
Cancel
|
Location
|
295, 40
|
Size
|
85, 23
|
وروستى کنټرول چې فارم ته بايد زيات شي د Picture Box په نامه دى، يعنې په ټولباکس کې د Picture Box په نامه کنټرول دوه واره کليک کړئ، نوموړى هم ورته ځانتياوې لري مګر لومړنۍ دنده يې ستاسو له لورې د په نښه شوي تصوير ښودل دي چې د دې بېلګې لپاره کافي دى، ياد شوى کنټرول هم د لومړنۍ تڼۍ په څېر فارم ته ور زيات کړئ او د Properties په کړکۍ کۍ يې ځانتياوې په لاندنۍ بڼه وليکئ:
Property
|
Value
|
Name
|
picShowPicture
|
Border Style
|
FixedSingle
|
Location
|
8, 8
|
Size
|
282, 275
|
لاندني شکل ته وګورئ، د ټولو بدلونو تر پلي کولو وروسته به ستاسو د فارم بڼه نوموړي شکل ته ورته وي، د بدلونو د خوندي کولو په موخه د Save all تڼۍ کليک کړئ.
فارم ته نه ښکارېدونکى کنټرول زياتول
تر دې مهاله چې پر فارم کوم کنټرولران اوډل شوي يوازې مادي بڼه لري، د يادولو وړ خبره دا ده چې ټول کنټرولران بايد مادي بڼه ونه لري، ځکه په هغوى کې ځينې هغه يې د پروګرام چلولو دندې په غاړه لري، يعنې نا څرګندو کنټرولرانو ته يو کاروونکى لار نه لري چې کار يې کړي، هغوى يوازې د پروګرام چلولو په موخه د هغه پنځولو پر مهال د پردې تر شا کار پيلوي، نوموړي د همدې وجې له مخې په سي شارپ کې په معياري ډول پراته وي.
يو کاروونکى له يوه پروګرام ليکوال څخه تل دا غوښتنه لري چې په پروګرام کې داسې يوه تڼۍ پرته وي چې په مټ يې نوموړى د خپل کمپيوټر ډرايوونه د تصوير موندلو په موخه ولټوي. دا څرګنده خبره ده چې د تصوير پرانيستلو لپاره د Open تڼۍ کارېږي، له نوموړي سره چې کومه کړکۍ ښکاره کېږي په ټولو وينډوزونو کې يو ډول ده، يعنې دا اړتيا نشته چې د يوه معياري کنټرول لپاره بېل کوډ وليکو.
په همدې موخه مايکروسافټ داسې يو کنټرول خپور کړى چې هر پروګرام ليکوال يې د خپل پروجيکټ لپاره کارولاى شي، نوموړى Open File Dialog کنټرول نومېږي يعنې فايل پرانيستونکى کنټرول. که د مايکروسافټ له کنټروله کار واخلو وخت مو سپمېږي او که په خپله يې وليکو ښايي ګڼ ساعتونه د نوموړي پر ليکلو کار وکړو.
په ياد شوي ټولباکس کې د Dialogs د ټولګې (+) نښه کليک کړئ او د OpenFileDialog کنټرول دوه ځله کليک کړئ چې فار ته داخل شي، (په ټولباکس کې پراته توکي د Arrow کيليو په مرسته په نښه کولاى شئ)، بايد ووايم نوموړى کنټرول پر فارم نه ليدل کېږي بلکې د فارم په وروستۍ ځانګړې برخه کې داخلېږي لاندني شکل ته وګورئ: د دې وجه دا ده چې نوموړى يو کاروونکي ته د تصوير ښودلو کومه دنده په غاړه نه لري، دى يوازې هغه مهال په کار راځي چې اړتيا پېښه شي او نوموړي پرته د Open کړکۍ له پرانيستلو بل کار نه کوي.
د فارم په وروستۍ برخه کې OpenFileDialog انتخاب کړئ او د Properties په کړکۍ کې يې ځانتياوې په لاندني ډول وليکئ:
Property
|
Value
|
Name
|
ofdSelectPicture
|
Filter
|
JPEG|*.jpg|Bitmaps|*.bmp
|
Title
|
Select Picture
|
FileName
|
Select a picture
|
د نوموړې د Filter Property د فلټرونو په موخه کارېږي، هغه نښه چې د پايپ (|) په بڼه ليکل شوي د فايل د بڼې د ټاکلو معنا ورکوي، او هغه ليکنه چې تر نوموړي نښي وروسته ليکل شوې د فايل کارولو معنا ورکوي، يعنې په پورتني فلټر کې JPEG او Bitmaps هغه ليکنې دي چې د Open په کړکۍ کې د Files of type په برخه کې ښکاره کېږي، همداسې jpg.* او bmp.* هغه دوه ډوله فايلونه دي چې د همدې Open کړکۍ له لارې يې پرانيستلاى شئ. بايد ووايم د OpenFileDialog کنټرول لپاره تر يوه زيات فلټرونه کارولاى شئ او کومه ليکنه چې د همدې کنټرول د Title په برخه کې ليکلې د Open کړکۍ پر Title bar ښکاره کېږي.
د Interface تر شا کوډ ليکل
د ډيزان له پلوه تصوير ښودونکى پروګرام سر ته رسېدلى دى، که ټولباکس د فارم پر مخ پرانيستى وي بند يې کړئ، اوس د کوډ ليکلو پړاو ته داخلېږئ چې د پروګرام لپاره کوډ وليکئ تر څو په کار پيل وکړي، سي شارپ خپله يوه چلنيزه ژبه ده يعنې نوموړى پروګرام ته دا وړتيا ور په برخه کوي چې وچلېږي، موخه مو دا ده چې ليکل شوي کوډ ته د عمل جامه ور اغوستل يوازې د سي شارپ له لارې تر سره کېږي او Event په کار لوېږي.
ايونټونه (Events) پر دوو برخو وېشل کېږي چې مخکې مو هم يادونه وکړه، لومړى ډول يې د يوه کاروونکي په توسط تر سره کېږي د بېلګې په توګه يو کاروونکي يوه تڼۍ کليکوي او دوهم ډول يې وينډوز په خپله کاروي، د Events په اړه د نورو معلوماتو لپاره څلورم لوست وګورئ.
تر اوسه پروګرام په ډېره ښه توګه اوډل شوي مګر هېڅ کار نه شي کولاى، يعنې که څوک پر Select Picture تڼۍ د تصوير پرانيستلو په موخه کليک وکړئ له هېڅ يوه پيغام سره نه مخېږي، دا ځکه چې تر اوسه پروګرام ته دا نه دي ويل شوي چې د دې تڼۍ په کليکولو سره کوم ګام اوچت کړه.
اوس د کوډ ليکلو پړاو ته ننوزئ، د همدې پروګرام لپاره دوو کوډونو ته اړتيا لرئ چې ويې ليکئ، لومړى د
Select Picture تڼۍ کوډ چې په کليکولو سره يې يو کاروونکى د دې وړ وګرځي تر څو په کمپيوټر کې د پرتو تصويرونو له ډلې څخه يو په نښه کړئ، دوهم د Cancel تڼۍ لپاره يو کوډ چې يوه کاروونکي ته د پروګرام بندولو وړتيا ور په برخه کړي.
د Select Picture تڼۍ کوډ ليکل
لومړنى کوډ چې ليکى يوه کاروونکي ته په کمپيوټر کې په تصويرونو پسې د ګرځېدو اجازه ورکوي او په نښه شوى تصوير يې د Picture Box په کنټرول کې ښکاره کوي، دا کوډ هغه مهال په کار پيل کوي چې يو کاروونکى د
Select Picture تڼۍ ته ټک ورکړي، نو دا معلومه شوه چې کوډ بايد د نوموړي تڼۍ په Click Event کې وليکل شي.
کله چې تاسو په Design View کې پر فارم د پرتو کنټرولرانو څخه يو هم په دوه واره کليک سره کليک کړئ، د کوډ ليکلو کړکۍ د Click Event کوډ په خپله ليکي او د کوډ ليکلو په کړکۍ کې يې ښکاره کوي، همدا Event د هماغه کـنټرول لپاره Click Event بلل کېږي، دا ډول د نوموړې تڼۍ موخه واضح کوي او زموږ موخه همدغه تڼۍ کليکول وي. Select Picture تڼۍ دوه ځله کليک کړئ او د کوډ ليکلو په کړکۍ کې يې کوډ وليکئ لاندني شکل ته وګورئ.
کله چې تاسو يو Event جوړوئ سي شارپ يې تر څنګ يو Event Handler جوړوي او د نوموړې په مټ کار ته د عمل جامه ور اغوندي، يعنې Cursor چې د کوډ ليکلو په کړکۍ کې چيري ولاړ وى له هماغه ځايه د کوډ ليکل پيلېږي، له همدې امله چې تاسو څه ليکى هغه په کوډ کې شامل بلل کېږي، دا خبره هم په ياد وساتئ د کوډ پرانيستل او بندول دواړه د برېکيټ ({ }) په مټ تر سره کېږي، نوموړي د کار پيل او ختم په ګوته کوي او تاسو به ډېر ژر په دې پوه شئ چې سي شارپ ګڼ شمېر برېکيټونو ته اړتيا لري، په سي شارپ کې دخپلي خوښي له مخې کوډونه او برېکيټونه ليکلاى شئ مګر دا کار ډېر وخت نيسي او په دې لوست کې داسې وکړئ لکه څنګه چې موږ تر سره کړي.
د کوډ په لومړۍ کرښه کې چې تاسو څه غواړئ ليکلاى يې شئ مګر پيل يې بايد په غبرګ سلاش (//) تر سره شي، تر دې غبرګو سلاشونو وروسته د خپلي خوښي ليکنه ليکلاى شئ، د دې بېلګې لپاره لاندني توري وليکئ او د Enter کيلي ووهئ:
// Show the open file dialog box.
د کوډ په راتلونکې کرښه کې ستاسو دنده دا ده چې فايل پرانيستونکې کړکۍ په کار واچوئ، د همدې کنټرول دنورو معلوماتو په اړه د کتاب درېيم لوست وګورئ، د اوس لپاره تاسو هغه تګلاره غوره کړئ چې په مټ يې Select تڼۍ پرانيستونکې (Open) کړنه تر سره کړي.
Show Dialog کمانډ د Open کړکۍ په دې اړباسي چي پرانيستل شي او کاروونکى پرېږدي د خپلي خوښي له مخې يو تصوير په نښه کړي، نوموړې کړنه تر يو څو کرښو ليکلو وروسته تکميلېږي چې په مټ يې دا پته لګولاى شو چې کار مکمل شوى دى که يا، چې بيا يې له لومړنۍ په لاس راغلي پايلي سره هم پرتله کولاى شو.
تاسو مه خفه کېږئ د دغو ټولو شيانو په اړه په راتلونکو درسونو کې پوره معلومات درکول کېږي، دا ډول کوډ يو کارکوونکي ته دا واک په لاس ورکوي چې د خپل کمپيوټر له ډرايوونو څخه د خپلي خوښي تصوير په نښه کړي، تر دې وروسته که فايل پرانيزئ بل کوډ کارېږي.
د دې کوچنۍ بېلګې لپاره لاندنۍ کرښه داخله کړئ او د Enter کيلي کښېکاږئ:
if(ofdSelectPicture.ShowDialog()==DialogResult.OK)
تر پورتنۍ ليکني وروسته لاندنۍ هغه وليکئ او د Enter کيلي ووهئ:
// Load the picture into the picture box.
د کوډ راتلونکې کرښه د تصوير ښکاره کوونکې ده که تاسو يې په اړه پوره معلومات غواړئ لسم لوست وګورئ، تر پورتنۍ کرښې وروسته لاندنۍ کرښه وليکئ:
picshowpicture.Image = Image.FromFile(ofdSelectPicture.FileName);
لومړني او وروستني برېکيټونه د دې ښکارندوى دي چې ګڼ شمېر نور لينونه هم شته او بله خبره دا چې د کوډ ليکلو پر مهال و Space او Tab کيليو ته اړتيا نشته ځکه سي شارپ دا نيمګړتياوې په خپله پوره کوي.
که تاسو په فارم کې له تصوير سره د هغه نوم او پوره پته ښکاره کول وغواړئ دا کار هم شونى دى. کله چې د لومړي ځل لپاره يو فارم جوړ کړئ د Text Property څخه د يوه تصوير نوم او پته په نښه کولاى شئ، مګر که وغواړئ بېلابېل تصويرونه د همدې فارم له لارې پرانيزئ لاندنى کوډ د کوډ ليکلو په کړکۍ کې د وروستنيو دوو کرښو پر ځاى وليکئ، يعنې پورتنۍ دوې کرښې مه ليکئ پر ځاى يې لاندنۍ دوې هغه وليکئ:
//Show the name of the file in the form's caption.
this.Text = string.Concat("picture Viewer(" + ofdSelectPicture.FileName + ")");
د Cancel تڼۍ کوډ ليکل
وروستنى کوډ چې تاسو بايد وليکئ هغه دا دى چې که يو کاروونکى د Cancel تڼۍ کليک کړئ بايد پروګرام وتړل شي، د دې کار لپاره د Cancel تڼۍ Click Event پرانيستل غواړئ، د Select Picture تڼۍ د کوډ ليکلو کړکۍ ټوله کړئ او پر فارم د Cancel تڼۍ دوه ځله کليک کړئ چې دا تڼۍ هم په کار پيل وکړي او د کوډ ليکلو په کړکۍ کې يې لاندنۍ کرښې وليکئ، ستاسو ليکلي کوډونه بايد لاندني شکل ته ورته وي:
// Close the window and exit the application.
this.Close();
پورتنۍ تګلاره د بوخت فارم د بندولو په موخه کارېږي، کله چې په پروګرام کې وروستنى پرانيستل شوى فارم بند شي پروګرام په خپله ځان بندوي، که يو غښتلى او پراخ پروګرام مو ليکلى وي لکه څنګه چې مو مخکې اشاره ورته وکړه چې يو پراخ پروګرام د ډېرو نورو فرعي توکو څښتن وي، که بندول يې وغواړئ لومړى ټول توکي ټول کړئ او بيا د پروګرام بندولو هڅه وکړئ، مګر د دې بېلګې لپاره د فارم بندول د ټولو هغو هڅو څخه يوه بلل کېږي چې غواړئ پايله يې تر لاسه کړئ.
پروجيکټ اجرا کول
پروجيکټ اوس تکميل شوى دى، پر ټولبار پرته د Save all تڼۍ کليک کړئ چې ټول بدلونونه او نوي ليکنې خوندي شي، تر دې وروسته د F5 کيلي ته ټک ورکړئ يا هم پر ټولبار باندې موجود مثلث چې د VCR د Play تڼۍ ته يې شکل ورته دى کليک کړئ، دا تڼۍ د Start او Debug پر مينيوګانو هم موجوده ده، په دومره ډېرو ځايونو کې يې موجوديت دا معنا ورکوي چې څومره ښايي هغومره کار تېز تر سره شي. کله چې تاسو پروجيکټ اجرا کوئ د سي شارپ بڼه بدلېږي او کوم فارم چې تاسو جوړ کړى د يوه پروګرام په بڼه پر پرده غوړېږي لاندني شکل ته وګورئ:
دا چې تاسو اجرا کړ دا هماغه پروګرام دى چې همدا اوس مو وليکى، نوموړى په بل کمپيوټر کې هم په ورته بڼه اجرا کېږي ان دا چې که په هغه کې سي شارپ موجود هم نه وي، Select Picture تڼۍ د تصوير موندلو په موخه کليک کړئ لاندني شکل ته وګورئ:
د همدې کړکۍ له لارې يو تصوير ولټوئ او وروسته يې په غبرګ کليک ووهئ، يا يو وارې د تصوير پر سر او دوهم وارې د Open تڼۍ پر سر کليکونه وکړئ، چې په ګوته شوى تصوير مو د نوي پروګرام په Picture Box کې څرګند شي لاندني شکل ته وګورئ، که بيا وغواړئ پر پروجيکټ کار وکړئ د Cancel تڼۍ کليک کړئ او کار ته مو ادامه ورکړئ، تر کار کولو وروسته د Save all تڼۍ د نوو تغيراتو د خوندي کولو په موخه چې د سي شارپ پر ټولبار پرته ده کليکوئ، دا وه د پروجيکټ او د نوموړي په مټ د يوه کوچني پروګرام ليکلو بېلګه.
د لومړي لوست پاى