our notes for our youngers

November 5, 2009

Exercise One Video

ကြၽန္ေတာ္ exercise အေနနဲ႔ ေပးခဲ႔တဲ႔ Screen Saver Program ေလးကို မေန႔ညက ကြၽန္ေတာ္ Video Training ေလး လုပ္လာခဲ႔တယ္။ ေသေသခ်ာခ်ာေလးေတာ့ လုပ္ေပးထားပါတယ္။ ညီတို႔ ေဒါင္းျပီး ၾကည့္ၾကည့္ပါဦး။ မရွင္းတာရွိရင္ ျပန္ေမးေစခ်င္ပါတယ္။ ကြၽန္ေတာ္ Video Training လုပ္ဖို႔ သံုးတဲ႔ software က SnapIt9 ပါ။ အဲ့ဒီ software ရဲ႕႔ အားနည္းခ်က္ေၾကာင့္ထင္တယ္ ေျပာေနရင္း အခ်ိန္ၾကာလာရင္ အသံက ျမန္ျပီး ရုပ္ပံုက ေႏွးေနတာေလး တစ္ခုေတာ့ ရွိတယ္။ အဲ့ဒါေလး သည္းခံျပီး နားေထာင္ေပးၾကပါခင္ဗ်ာ။ အဲ… ေနာက္တစ္ခုက ကြၽန္ေတာ္ရဲ႕ အသံဆိုးဆိုးေလးကိုလည္း သည္းခံေပးပါေနာ္ :)

ကြၽန္ေတာ္ အပိုင္း ၅ ပိုင္း ခြဲျပီး တင္ပါမယ္။ ၁ပိုင္းစီကို rar file ေျဖျပီး နားေထာင္လို႔ရတယ္ေနာ္။ အားလံုး ေဒါင္းျပီးမွ ၾကည့္စရာမလိုဘူး။ Source Code ကိုလည္း ထည့္ေပးလိုက္ပါတယ္။ အဲ့ဒါေလးကို ၾကည့္ျပီး ကိုယ္တိုင္ ျပန္လုပ္ၾကည့္ပါ။ ရသြားရင္… ဒါမ်ိဳး ဆင္တူေလးေတြကို ကိုယ္တိုင္စမ္းလုပ္ၾကည့္ပါ။ (ဥပမာ.. အခုကြၽန္ေတာ္က line ဆြဲျပထားတယ္ အဲ့ဒီအစား စက္၀ိုင္းတို႔ ဘာတို႔ လုပ္ၾကည့္ေပါ့ေနာ္ )

ညီ၊ညီမ တို႔ အားလံုး programming ကို အခက္အခဲမရွိ ေလ့လာနိုင္ၾကပါေစ….

Part One :

http://www.sendspace.com/file/5yrx3u

 

Part Two :

http://www.sendspace.com/file/t3wji1

 

Part Three :

http://www.sendspace.com/file/6gbway

 

Part Four :

http://www.sendspace.com/file/r58ep8

 

Part Five :

http://www.sendspace.com/file/cxwb2y

 

Source Code :

http://www.sendspace.com/file/we1wb9

October 31, 2009

Graphics And Random

Filed under: Window Form Application — Tags: , , , , — sevenlamp @ 2:32 PM

Graphics Class

ကြၽန္ေတာ္တို႔ ပံုေတြဆြဲခ်င္ျပီဆိုရင္ ဘာေတြလိုအပ္မလဲ။ အရင္ဆံုး ဆြဲဖို႔အတြက္ ေနာက္ခံတစ္ခုလိုပါမယ္။ စာရြက္ေသာ္လည္းေကာင္း၊ နံရံေသာ္လည္းေကာင္း၊ ပိတ္ကား ေသာ္လည္းေကာင္းေပါ့။ ေနာက္ျပီး ဆြဲမယ့္ ခဲတံျဖစ္ျဖစ္ စုတ္တံျဖစ္ျဖစ္လိုပါမယ္။ ဒီ ၂ ခုရွိျပီဆိုရင္ေတာ့ ကြၽန္ေတာ္တို႔ ပံုေတြ ဆြဲလို႔ရပါၿပီ။ ဒီအတုိင္းပါပဲ ကြၽန္ေတာ္တို႔ C# window application မွာ graphic ပံုေတြ ဆြဲဖို႔ လိုအပ္လာျပီဆိုရင္လည္း ဆြဲခ်င္တဲ႔ ေနာက္ခံ object နဲ႔ ဆြဲမယ့္ pen or brush လိုအပ္ပါတယ္။ တကယ္ဆြဲတဲ႔ အလုပ္ကိုေတာ့ graphics object ကေနတဆင့္လုပ္ေပးရပါမယ္။ အရင္ဆံုး Graphics Class ကို object ေဆာက္ရပါမယ့္။ ဒီလို ေဆာက္တဲ႔အခါ ကြၽန္ေတာ္တို႔ ဆြဲခ်င္တဲ႔ ေနာက္ခံobject ကေနတဆင့္ CreateGraphic() ဆိုတဲ႔ function ကိုသံုးၿပီးေဆာက္ရမွာပါ။ ဒီလိုမ်ိဳးပါ..

Graphics g = this.CreateGraphics();          // form ေပၚမွာ ဆြဲရန္…

Graphics g = label1.CreateGraphics();       // label ေပၚမွာ ဆြဲရန္…

ေနာက္ခံကိုေရြးၿပီးၿပီဆိုရင္ အခုလိုအပ္တာက ဆြဲမယ့္ ခဲတံပါ။ ကြၽန္ေတာ္ဆြဲမယ့္ပံုမွာ outline အနားသပ္ပဲ ပါမယ္ဆိုရင္ Pen class ကိုသံုးရၿပီး။ အတြင္းသား ကိုပါ အေရာင္ျဖည့္မယ္ဆိုရင္ေတာ့ Brush class ကိုသံုးရပါမယ္။ ကြၽန္ေတာ္လိုခ်င္တဲ႔ အေရာင္ကိုလည္း တခါတည္း ေျပာေပးလိုက္ပါမယ္။

Pen p = new Pen (Color.Red);                 // အနီေရာင္ ခဲတံေလး တစ္ခုယူလိုက္တာပါ။

လိုင္းရဲ႕ အထူအပါးကိုပါ ခ်ိန္ေပးလို႔လည္း ရပါတယ္။ pen class မွာ width property မွာ ျပင္ေပးလို႔ရပါတယ္။

p.Width = 2;            // line အထူ 2 pixel ယူပါမယ္။

ဒါမွမဟုတ္… Pen object ေဆာက္တုန္းမွာပဲ constructor ထဲမွာတခါတည္း ထည့္ေပးလိုက္လည္း ရပါတယ္။

Pen p = new Pen (Color.Red, 2);

Brush object ေဆာက္ရင္ေတာ့ တစ္ခ်က္သတိထားရမွာက Brush class ကိုယ္တိုင္ကို object ေဆာက္လို႔ မရပါဘူး။ သူ႔ရဲ႕ child class (SolidBrush, LinearGradientBrush,…) ေတြကိုပဲ object ေဆာက္လို႔ရပါတယ္။

Brush b = new SolidBrush (Color.Green);   // အစိမ္းေရာင္ စုတ္တံေလးတစ္ခုယူလိုက္တာပါ။

ကဲ.. အခုေနာက္ဆံုး ကြၽန္ေတာ္တို႔ တကယ္ဆြဲပါေတာ့မယ္။ Pen ကိုသံုးမယ္ဆိုရင္ Draw function ေတြကိုသံုးရျပီး၊ Brush ကိုသံုးမယ္ဆိုရင္ေတာ့ Fill Function ကို သံုးရပါတယ္။ အခုကြၽန္ေတာ္ width 100, height 100 ရွိတဲ႔ အစိမ္းေရာက္ box ေလးကို အနီေရာင္အနားကြပ္ေလးနဲ႔ လိုခ်င္တယ္ဆိုရင္…..

Graphics g = this.CreateGraphics();

Pen p = new Pen(Color.Red, 2);

Brush b = new SolidBrush(Color.Green);

g.FillRectangle(b, 10, 10, 100, 100);

g.DrawRectangle(p, 10, 10, 100, 100);

ေနာက္သိဖို႔ တစ္ခုလိုေသးတာက ဒီကုဒ္ေတြေရးရမယ့္ event ပါ။ Form စေပၚလာလာခ်င္းမွာ ေပၚခ်င္ရင္ Form_Paint event မွာ ေရးရပါမယ္။ Button တစ္ခုခုကိုႏွိပ္မွ ဆြဲမယ္ဆိုရင္ေတာ့ အဲ့ဒီ button_click event မွာ ေရးရမွာေပါ့။ Paint event မွာ မေရးထားတာေတြ အားလံုးက form ကို Minimax လုပ္လိုက္ရင္ အကုန္ ေပ်ာက္သြားမွာပါ။

Random Class

ကြၽန္ေတာ္တို႔ C# programming language မွာ random ေခါက္ခ်င္ၿပီဆိုရင္ Random Class ကိုသံုးရပါတယ္။ Random ေခါက္တယ္ဆိုတာက သက္မွတ္ထားတဲ႔ range တစ္ခုအတြင္းမွာ ျဖစ္ခ်င္တာျဖစ္ဆိုျပီး တစ္ခုကို ေရြးလိုက္တာပါ။

Random rnd = new Random();

rnd.Next();              // Integer value တစ္ခု return ျပန္ပါတယ္။

rnd.Next(10);           // 0 – 9 ထဲက value တစ္ခု return ျပန္ပါတယ္။

rnd.Next(2, 6);         // 2 – 5 ထဲက value တစ္ခု return ျပန္ပါတယ္။

ကဲ ဟုတ္ၿပီ အခုကြၽန္ေတာ္က ခုန rectangle ေလးရဲ႕ location ေလးကိုကို form ေပၚမွာ random ေပၚေအာင္ ေရးၾကည့္ရေအာင္။

Random rnd = new Random();

int x = rnd.Next(this.ClientSize.Width);

int y = rnd.Next(this.ClientSize.Height);

Graphics g = this.CreateGraphics();

Pen p = new Pen(Color.Red, 2);

Brush b = new SolidBrush(Color.Green);

g.FillRectangle(b, x, y, 100, 100);

g.DrawRectangle(p, x, y, 100, 100);

The Silver is the New Black Theme Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.