විෂුවල් බේසික් යනු අනෙකුත් ක්රමලේඛ භාෂාවන් සමග සසදන විට ඉගෙන ගැනීමට පහසු භාෂාවකි. නමුත් ක්රමලේඛ භෂාවෙන් භාෂාවට එහි කෝඩ් ලියන ආකාරය වෙනස් වේ. මෙම නිසා මෙවර අප ඉදිරිපත් කරන ආදර්ශ වැඩසටහන සකසා ඇත්තේ විෂුවල් බේසික් තුල කෝඩ් ලියන ආකාරය ගැන මූලික අවබෝධයක් ලබා ගැනීම සදහාය.
වැඩසටහන සකස් කිරීම සදහා පළමුව Fille > New Project > Installed > Visual Basic > WPF Application යන්න හරහා ගොස් නව WPF Application විවෘත කරගත යුතුය. මෙම වැඩසටහන සදහා ලේබල් (Label) එකක් හා බට්න් (Button) එකක් යොදාගෙන තිබේ. ලේබල් එකක් ෆෝම් (Form) එක මතට යොදා ගැනීම සදහා මුලින්ම කළ යුත්තේ ටූල් බොක්ස් (Tool Box) එකෙහි Common WPF Controls යටතේ ඇති ලෙබල් (Label) යන්න මත ක්ලික් කර ෆෝම් එක මතට ඩ්රැග් කර එය ෆෝම් එක මතට යොදා ගත හැක. මෙලෙසම බට්න් එකක්ද ෆෝම් එක මතට යොදා ගත හැක.
මීට අමතරව Label, Button යන්න මත ඩබල් ක්ලික් කිරීමෙන්ද එම කන්ට්රොල් සම්මත ප්රමාණ වලින්ම ෆෝම් එක මතට යොදා ගත හැක.
WPF Application හි ඇති තවත් විශේෂ පහසු කමක් වන XAML ටැග් භාවිතා කරමින්ද කන්ට්රොල් ෆෝම් එක මතට යොදා ගත හැක. ඒ සදහා පහත කෝඩ් කොටස XAML එඩිටර් එක තුල ලිවිය යුතුය. (XAML එඩිටර් එක ෆෝම් වින්ඩෝ එකෙහි යටින් ඇති XAML නම් ටැබ් එක ක්ලික් කරද ලබා ගත හැක. )
වැඩසටහන සකස් කිරීම සදහා පළමුව Fille > New Project > Installed > Visual Basic > WPF Application යන්න හරහා ගොස් නව WPF Application විවෘත කරගත යුතුය. මෙම වැඩසටහන සදහා ලේබල් (Label) එකක් හා බට්න් (Button) එකක් යොදාගෙන තිබේ. ලේබල් එකක් ෆෝම් (Form) එක මතට යොදා ගැනීම සදහා මුලින්ම කළ යුත්තේ ටූල් බොක්ස් (Tool Box) එකෙහි Common WPF Controls යටතේ ඇති ලෙබල් (Label) යන්න මත ක්ලික් කර ෆෝම් එක මතට ඩ්රැග් කර එය ෆෝම් එක මතට යොදා ගත හැක. මෙලෙසම බට්න් එකක්ද ෆෝම් එක මතට යොදා ගත හැක.
මීට අමතරව Label, Button යන්න මත ඩබල් ක්ලික් කිරීමෙන්ද එම කන්ට්රොල් සම්මත ප්රමාණ වලින්ම ෆෝම් එක මතට යොදා ගත හැක.
WPF Application හි ඇති තවත් විශේෂ පහසු කමක් වන XAML ටැග් භාවිතා කරමින්ද කන්ට්රොල් ෆෝම් එක මතට යොදා ගත හැක. ඒ සදහා පහත කෝඩ් කොටස XAML එඩිටර් එක තුල ලිවිය යුතුය. (XAML එඩිටර් එක ෆෝම් වින්ඩෝ එකෙහි යටින් ඇති XAML නම් ටැබ් එක ක්ලික් කරද ලබා ගත හැක. )
මෙහි කළු පැහැයෙන් දක්වා ඇති කෝඩ් කොටස නිතැතින්ම ෆෝම එක සම්ග ලැබේ. XAML කෝඩ් ලිවීමේදී විශේෂ අවස්ථාවන් කිහිපයකදී හැර අන් සියළුම XAML කෝඩ් ලිවිය යුත්තේ තද පහැයෙන් දක්වා ඇති <Grid> </Grid> යන්නට ඇතුලතින්ය.
දැන් අප මෙහි XAML කෝඩ් කොටස් විශ්ලේෂනය කරමු :
<Grid> යන්නෙන් කරන්නේ නව Grid එකක් විවෘත කිරීමයි.
</Grid> යන්නෙන් කරන්නේ පෙර විවෘත කරන ලද Grid එකක් වසා දැමීමයි.
</Grid> යන්නෙන් කරන්නේ පෙර විවෘත කරන ලද Grid එකක් වසා දැමීමයි.
මෙහිදී නව Grid එකක් ආරම්භ කිරීම හා වසා දැමීම සදහා XAML ටැග් දෙකක් යොදා ගෙන තිබේ. නමුත් ආරම්භ කිරීම හා වසා දැමීම සදහා එක් XAML ටැග් එකක්ද යොදා ගත හැක. ඒ සදහා <Grid></Grid> යන්න වෙනුවට <Grid/> ලෙස ලිවිය හැක. (Grid එකක් යනු Label, Button, Radio Button ඇතුලු අනෙකුත් අප භාවිතා කරන කන්ට්රෝල් ස්ථානගත කිරීම සදහා යොදා ගන්නා බහාලුමක් වැනි විශේෂිත කන්ට්රෝල් එකකි.)
කෝඩ් ලියා කන්ට්රොල් එකක් ඇඩ් කර ගැනීම.
ඉහතින් දැක්වූ XAML කෝඩ් කොටසේ ඇති Enter your XAML code here යන්න වෙනුවට නව කන්ට්රෝල් ලබා ගැනීමට අවශ්ය XAML කෝඩ් ලිවිය යුතුය. ඒ සදහා පහත උදාහරණය සලකා බලමු.
මෙහිදී උදාහරණ වශයෙන් දක්වා ඇත්තේ Label හා Button බට්න් එකක් ලබා ගැනීමට අදාල XAML කෝඩ් කොටසයි.
මෙහිදී උදාහරණ වශයෙන් දක්වා ඇත්තේ Label හා Button බට්න් එකක් ලබා ගැනීමට අදාල XAML කෝඩ් කොටසයි.
මෙහිදී නව ලේබල් එකක් ලබා ගැනීම සදහා මුලින්ම <Label/> ලෙස XAML ටැගයක් ආරම්භ කොට තිබෙන අතරම නව බටනයක් එකක් ලබා ගැනීම සදහා මුලින්ම <Button/> ලෙස XAML ටැගයක් ආරම්භ කොට තිබේ. එම ලේබල් එක හා බටනය තුල ලියා ඇති අනෙකුත් කෝඩ් කොටස් වල විස්තර පහත පරිදි වේ.
Name - විෂුවල් බේසික් භාෂාව විසින් කන්ට්රෝලය එකිනෙකින් වෙන්කර හදුනා ගැනීම සදහා භාවිතා කරන්නේ මෙම නමයි. මෙහිදී ලබදෙන නම එකම ෆෝම එක හෙවත් විඩෝව තුල එක වරකට වඩා යොදා ගත නොහැක.
Content - ලේබල් එක තුල පෙනෙන වචනය මෙලෙස දක්වයි.
HorizontalAlignment - කන්ට්රෝල් එකෙහි HorizontalAlignment එක දක්වයි.
VerticalAlignment - කන්ට්රෝල් එකෙහි VerticalAlignment එක දක්වයි.
Margin - කන්ට්රෝල් එක වටේ අතහැරිය යුතු ඉඩ ප්රමාණය දක්වයි.
මෙම XAML ටැග් නිතරම අප විසින් ලිවීම අත්යවශ නොවන අතර ටූල් බොක්ස් එක මගින් කන්ට්රෝල් ලබා ගැනීමේදී හා ඒවායේ ප්රොපටීස් වෙන්ස් කිරීමේදී Visual Studio වැඩසටහ විසින් එම සැකසුම් වලට අනුරූපවන ආකාරයට XAML ටැග් ස්වයංක්රීයව ගොඩනගා ගනී.
ලේබල් එක හා බට්න් එක මත දිස් වන අකුරු වෙනස් කිරීම.
මේ සදහා බටනය හා ලේබල් එක සදහා යොදා ගනු ලැබූ XAML ටැග් එක එකතුල ඇති Content යන්න ඉදිරියෙන් ඇති වචනය වෙන්ස් කිරීමෙන්ද ලේබල් එක හා බට්න් එක මත දිස් වන අකුරු වෙනස් කිරීම කල හැක.
මෙය සිදුකල හැකි අනෙක් ආකාරය වන්නේ ප්රොපර්ටීස් වින්ඩෝ එක යොදා ගැනීමයි.මෙය සිදුකල හැකි අනෙක් ආකාරය වන්නේ ප්රොපටීස් වින්ඩෝ එක යොදා ගැනීමයි. ලේබල් එක මත දිස් වන අකුරු වෙනස් කිරීමට නම් ෆෝම් එක මත ඇති ලේබල් එක සිලෙක්ට් කර ගත යුතුය. දැන් ප්රොපටීස් වින්ඩෝ එක තුල දැක ගත හැක්කේ ලේබල් එකට අදාලව සිදු කර ගත හැකි වෙනස්කම්ය. ලේබල් එක මත දිස්වන අකුරු වෙනස් කිරීම සදහා යොදා ගත යුතු සැකසුම වන්නේ Content යන්නයි. දැන් ඊට ඉදිරියෙන් ඇති ටෙක්ස්ට් බොක්ස් එක තුල දිස් වියයුතු වචනය ටයිප් කල යුතුය. මෙවිට ලේබල් එක මත දිස වන වචන වෙනස් වේ. මෙලෙසම බටනයේද දිස්විය යුතු වචනය වෙනස් කිරීම සදහා ෆෝම් එක මත ඇති බටනය සිලෙක්ට් කර ප්රොපටීස් වින්ඩො එකෙන් Content ප්රොපටි එක තෝරාගෙන Content යන්නට ඉදිරියෙන් ඇති ටෙක්ස්ට් බොක්ස් එක තුල දිස් වියයුතු වචනය ටයිප් කල යුතුය. මෙවිට බටනය මත දිස වන වචන වෙනස් වේ.
මෙය සිදුකල හැකි අනෙක් ආකාරය වන්නේ ප්රොපර්ටීස් වින්ඩෝ එක යොදා ගැනීමයි.මෙය සිදුකල හැකි අනෙක් ආකාරය වන්නේ ප්රොපටීස් වින්ඩෝ එක යොදා ගැනීමයි. ලේබල් එක මත දිස් වන අකුරු වෙනස් කිරීමට නම් ෆෝම් එක මත ඇති ලේබල් එක සිලෙක්ට් කර ගත යුතුය. දැන් ප්රොපටීස් වින්ඩෝ එක තුල දැක ගත හැක්කේ ලේබල් එකට අදාලව සිදු කර ගත හැකි වෙනස්කම්ය. ලේබල් එක මත දිස්වන අකුරු වෙනස් කිරීම සදහා යොදා ගත යුතු සැකසුම වන්නේ Content යන්නයි. දැන් ඊට ඉදිරියෙන් ඇති ටෙක්ස්ට් බොක්ස් එක තුල දිස් වියයුතු වචනය ටයිප් කල යුතුය. මෙවිට ලේබල් එක මත දිස වන වචන වෙනස් වේ. මෙලෙසම බටනයේද දිස්විය යුතු වචනය වෙනස් කිරීම සදහා ෆෝම් එක මත ඇති බටනය සිලෙක්ට් කර ප්රොපටීස් වින්ඩො එකෙන් Content ප්රොපටි එක තෝරාගෙන Content යන්නට ඉදිරියෙන් ඇති ටෙක්ස්ට් බොක්ස් එක තුල දිස් වියයුතු වචනය ටයිප් කල යුතුය. මෙවිට බටනය මත දිස වන වචන වෙනස් වේ.
මෙලෙස වෙනස් කරන ලද කන්ට්රෝල් තුල දිස්වන වචනය වැඩසටහන භාවිතා කරන්නාට වැඩසටහන ධාවනය වන අවස්ථාවේදී පෙනේ. නමුත් මෙම වචන වැඩසහන ධාවනය වන අවස්ථාවේදී වෙනස් කල නොහැක. ඒ සදාවා විෂුවල් බේසික් කේත ලිවීම හෙවත් වැඩ සටහන ක්රමලේඛ ගත කල යුතුය.
වැඩසටහන ක්රියාත්මක වෙන විටි Content ප්රොපටිය වෙනස් කිරීම.
වැඩසටහන ක්රියාත්මක වන විට Content ප්රොපටිය වෙනස් කිරීමට අවශ්ය නම් ඒ සදහා විෂුවල් බේසික් කෝඩ් ලිවිය යුතුය. ප්රෝග්රෑම් කිරීම ලෙසද හදුන් වන්නේ මෙයමය. වැඩසටහන ධාවනයේදී බට්න් එක ක්ලික් කරන විට ලේබල් එකෙහි ඇති වචනය වෙනස් කල යුතුනම් කෝඩ් ලිවිය යුත්තේ බට්න් එකට අදාලවය. මෙසේ කෝඩ් ලියන්නේ ලේබල් එක තුල සිදුවිය යුතු වෙනස් කමක් සදහා බැවින් ලෙබල් එක සදහා අනිවාර්යයෙන්ම නමක් ලබා දිය යුතුය. නමක් ලබාදීම සදහා ලේබල් එක මත ක්ලික් කර ප්රොපටීස් වින්ඩෝ එකේ Name යන්න ඉදිරියෙන් ඇති බොක්ස් එක තුල ලේබල් එක සදහා නමක් ලබාදිය යුතුය.
බට්න් එක තුල කෝඩ් ලිවීම.
බට්න් එක තුල කෝඩ් ලිවීම සදහා බට්න් එක මත ඩබල් ක්ලික් කර කෝඩ් වින්ඩෝවට පිවිසිය යුතුය. එසේ නොමැති ප්රොපටීස් වින්ඩෝවෙන් Event Handlers වෙත පිවිසිය යුතුය. මෙහිදී අප කෝඩ් ලියන්නේ බට්න් එක සදහා වන බැවින් ෆෝම් එක තුල ඇති බට්න් එක සිලෙක්ට් කර ප්රොපටීස් වින්ඩෝවේ ඇති අකුණක් වැනි සලකුණ ක්ලික් කර Event Handlers වෙත පිවිසිය යුතුය. මෙහිදී බට්න් එකට අදාලව ඇති සියළුම ඉවෙන්ට දැකගත හැකිය. අප මෙහිදී බලා පොරොත්තු වන්නේ බට්න් එක ක්ලික් කල විට ලේබල් එක තුල ඇති වචනය වෙනස් වීම සදහා වන බැවින් මෙහිදී අප තෝරා ගත යුතු ඉවෙන්ට් එක වන්නේ Click ඉවෙන්ට් එකයි. Event Handlers තුලින් Click යන්න තෝරාගත් පසු ඊට ඉදිරියෙන් ඇති ටෙක්ස්ට් බොක්ස් එක මත ඩබල් ක්ලික් කර යුතුය. ඉවිට බට්න් එකෙහි ක්ලික් ඉවෙන්ට් එකට අදාලව කෝඩ් වින්ඩෝව විවෘත වනු ඇත.
මෙහිදී අප විසින් ලියන සියලුම කෝඩ් ලිවිය යුත්තේ Private Sub Button1_Click... හා End Sub යන්න අතරය. එනම් බට්න් එකෙහි ක්ලික් කරීමේ ක්රියාවට අයත් වන්නේ මෙම කෝඩ් පේළි දැක අතර ලියනු ලබ කෝඩ් කෝටස් පමණි.
මෙම බට්න් එක මත ක්ලික් කලවිට ලේබල් එක මත වචන පෙළක් දිස්වීම සදහා Label1.Content = "Hello World Application" ලෙස කෝඩ් ලිවිය යුතුය.
මෙහි Label1 යනු ලේබල් එකෙහි නමයි. එසේ ලේබල් එකෙහි නම ලියා ඇත්තේ වැඩසටහන ක්රියාත්මක වන විට ඊට අදාල ප්රොපටි එක වෙනස් විය යුතු බැවිනි. මෙහි Content යනු වෙනස් විය යුතු ප්රොපටි එකයි.
මෙහි සමාන ලකුණට (=) ඉදිරියෙන් ඇති Hello World Application යන්න අනිවාර්යයෙන්ම උදෘතපාඨ තුල ලිවිය යුතු අතර වැඩ සටහන ක්රියාත්මක වීමේදී උදෘතපාඨ දැකගත නොහැක.
මෙසේ ලියන කෝඩ් කොටසට යටින් යම් හෙයකින් රතු පැහැති ඉරක් අදුනොත් ඉන් අදහස් වන්නේ ලියා ඇති කෝඩ් දෝෂ සහිත බවයි.
(මෙහි තබා ඇති තිතෙන් "එකෙහි" යන්න කියවෙන ලෙස සිතුවහොත් වැඩසටහන් සැකසීමේදී කෝඩ් තේරුම් ගැනීම පහසු වේ. උදාහරණයක් ලෙසින් ඉහතින් දැක්වූ කෝඩ් කොටස සැලකුවහොත් එහි අර්ථය වනුයේ Label1 එකෙහි Content එක "Hello World Application" යන්නට සමාන විය යුතුය; යන්නයි. )
දැන් වැඩසටහනේ කෝඩ් ලියා අවසන්ය. මෙසේ කෝඩ් ලියා අවසන් කොට වැඩ සටහන ක්රියාත්මක වන ආකාරය පරීක්ෂා කොට බැලිය හැක. ඒ සදහා Standard ටූල් බාර් එක මත ඇති Start Debuggung බට්න් එක ක්ලික් කල යුතුය. මේ සදහා යතුරු පුවරුවේ F5 යතුර වූවද භාවිතා කිරීමට හැක.
දැන් මෙතෙක් ඩිසයින් අවස්ථාවේ තිබූ වැඩසටහන ක්රියාත්මක කල හැක. මෙම අවස්ථාව, රන් ටයිම් (Run time) එක ලෙස හදුන්වයි. දැන් ඔබට සෑදූ වැඩසටහන ක්රියාත්මක කොට බැලිය හැක.
මේ ආකාර යෙන් ක්රියාත්මක වන සටහන නැවැත්වීමට Standard ටූල් බාර් එකෙහි ඇති Stop Debuggung බට්න් එක ක්ලික් කල යුතුය. එසේ නොමැතිනම් ### එකවර එබීමෙන්ද වැඩ සටහන නතර කල හැක.
Exe ෆයිල් එක වෙන්කර ගැනීම.
දැන් මෙලෙස සෑදූ වැඩසටහනේ .exe ෆයිල් එක හෙවත් Application ෆයිල් එක වෙන් කොටගත යුතුය. වෙනත් පරිගණකයකදී Visual Basic වැඩසටහන නොමැතිව ඔබ සෑදූ වැඩ සටහන ක්රියාත්මක කොට බැලිය හැක්කේ මෙම ෆයිල් එක මගිනි.
මේ සදහා මුලින්ම සෑදූ වැඩ සටහ File > Save all මගින් සේව් කර ගත යුතුය. පසුව වැඩසටහන පෙර පරිදි ක්රියාත්මක කලයුතුය.
මේ සදහා මුලින්ම සෑදූ වැඩ සටහ File > Save all මගින් සේව් කර ගත යුතුය. පසුව වැඩසටහන පෙර පරිදි ක්රියාත්මක කලයුතුය.
දැන් ඔබ සෑදූ වැඩසටහනේ .exe ෆයිල් එක සෑදී අවසන්ය. මෙම .exe ෆයිල් එක ලබා ගැනීම සදහා ඔබ වැඩසටහන සේව් කේරූ ෆොල්ඩරයට ගොස් bin ෆෝල්ඩරය ඕපන් කරගත යුතුය. පසුව එහි ඇති Debug නම් ෆෝල්ඩර් එක ඕපන් කර ගත යුතුය. දැන් ඔබ සෑදූ වැඩසටහන නමින් .exe ෆයිල් එකක් තිබෙනු දක්නටහැක. දැන් මෙම ෆයිල් එක ඩබල් ක්ලික් කර ඔබ සැදූ වැඩසටහන ධාවනය කරහැක.
ඔබට ඇති විෂුවල් බේසික් සම්බන්ධ ගැටලු කමෙන්ට් මගින් විමසන්න.
10 comments
Write commentsහැමෝටම වැදගත් වෙන විය යුතු පොස්ට් එකක් සහෝ...
Replyදිගටම කරගෙන යන්න.
අපව දිරිමත් කලාට ස්තූතියි!
ReplyVb sinhalen igena ganna koheda clz thiyenne???
Replyමම වසර පහකට අදික කාලයක සිට මෘදුකාංග සංවර්ධනයේ යෙදී සිටිනවා.නමුත් බොහෝ කලක සිට WPF Application Development සම්බන්දව වැඩි දුර ඉගෙනීමට බලාපොරොත්තුවෙන් සිටියා.නමුත් ඒ සදහා දැනුම ලබා ගැනීමට තිබෙන දුෂ්කරතාවය නිසා කල් දමමින් සිටියේ.නමුත් දැන් ඒ ගැන බය වෙන්න දෙයක් නෑ...ඔබ මේ ආරම්බ කර ඇති දේ ඉතාමත් වැදගත් වන අතර මා එයට හදවතින්ම සුභ පතනවා.එසේම අතරමග නොනවත්වා දිගටම කරගෙන යන ලෙසත් ඉල්ලා සිටිනවා.පියවරෙන් පියවර WPF Application Development වල සංකීර්ණ අදියර වලටත් අපව රැගෙන යන්න.මන්දයත් වර්ථමානයේ බොහෝ මෘදුකාංග නිර්මාණය වන්නේ WPF යොදා ගෙන වීමත්,මීලග පරම්පරාව හා මෘදුකාංග සංවර්ධනයේ දීමටනම් අප මෙය අනිවාර්යෙන්ම හදාරා තිබිය යුතු වනවා.තවද සාමාන්ය Windows Form වලට වඩා භාවිතාකරන්නාගේ සිත ඇදබැද තබාගන්නා නිර්මාණ මේ තුලින් කල හැකි වීමයි. ස්තුතියි!
ReplyPrivate sub Button1_click(sender As Object, e As RoutedEventArgs) Handles Button1.click
ReplyLabel1.content = " ***සුභ පතනවා.****හැමෝටම වැදගත් පොස්ට් එකක් Bro. දිගටම කරගෙන යන්න."
End Class
බොහොම ස්තුතියී. අපි වාගේ ආදුනිකයන් මේ දේවල් ඉගෙන ගන්න හොද අවස්ථාවක් ලබලා දෙනවට
ReplyVB and VB.net අතර තියන වෙනස මොකද්ද ඉන් ඉගන ගනන්න ලේසි හා වඩාත් ප්රෙය්ජනවත් මොකද්ද
ela wadak machan! masuran 10000000000000k watinawa.
ReplyVB කියන්නේ VB.net වලට කලින් තිබුන programming language එක. නමුත් දැන් vb වලින් program කරන්නේ නැති තරම්. ඒ නිසා වඩාම ප්රයෝජනවත් වෙන්නේ vb.net ඉගෙන ගැනීමයි.
Replyඒ වගේම තම්යි vb.net කියන්නේ vb වල අලුත් සංස්කරණයක් නොව එය වෙනත් programming language එකක් බව මතක තබා ගත් යුතුය.
සුපිරිම වැඩක්
Replyඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon