c#-ல் கீபோர்ட் உள்ளீட்டை எவ்வாறு கையாளுவது
ஒரு கீயை பொதுவாக அழுத்தும் பொழுது கீபோர்ட் ஈவண்ட்கள்
நிகழுகின்றன. விண்டோஸ் ஃபார்ம் அப்ளிகேசன்கள் அதை பிராசஸ் செய்கின்றன.
எந்த கீ பிரஸ் செய்யப்பட்டுள்ளது என்பதை எவ்வாறு
அறிவது?
பொதுவாக ஒரு கீயை அழுத்தும் பொழுது பின்வரும் வரிசையில்
ஈவண்ட்கள் நிகழ்கின்றன.
KeyDown
KeyPress
KeyUp
எண்டர் கீ அழுத்தப் பட்டுள்ளது என்பதை
எவ்வாறு
அறிவது.
பின் வரும் நிரல் வரிகளின் மூலம் அறியலாம்.
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter Key Pressed
");
}
TextBox1_KeyDown
event எவ்வாறு எழுதுவது?
டெக்ஸ்ட்பாக்ஸ் கண்ட்ரோலை செலெக்ட் செய்து கொண்டு f4 கீயை
அழுத்தவும். பிராப்பர்ட்டி விண்டோ திறக்கப்படும். அதில் ஈவண்ட் ஐக்கானை பிரஸ்
செய்யவும். KeyDown என்ற ஈவண்டில் வைத்து டபிள் கிளிக் செய்யவும்.
இப்போது கோட் எடிட்டரில் பின் வரும் படி வரிகள் வரும்.இதில்
நமக்கு தேவையான நிரல் வரிகளை சேர்த்துக் கொள்ளலாம்.
private void textBox1_KeyDown(.....)
{
}
KeyDown
Event, KeyPress Event and KeyUp Event
ஆகியவற்றின் வித்தியாசங்கள்:
KeyDown
Event : இந்த ஈவண்ட்
ஆனது பயனர் ஒரு கீயை அழுத்தும் போதே நிகழுகின்றன. இது பயனர் கீயை அழுத்துன்
நிலையிலேயே வைத்திக்கும் வரை திரும்ப திரும்ப ஏற்படுகின்றன.
KeyPress
Event : இந்த ஈவண்ட் ஆனது பயனை ஒரு கீயை பிரஸ்
செய்து அதை விடுவிக்கும் போது ஏற்படுகின்றது. இது கேரக்டர் அல்லாத கீயை அழுத்தும்
பொழுது ஏற்படாது. keyDown மற்றும் keyUp ஈவண்ட்டுகள் கேரக்டர் அல்லாத கீயை
அழுத்தும் பொழுதும் ஏற்படுகின்றன.
KeyUp Event :
இந்த
ஈவண்ட் ஆனது ஒரு கீயை விடுவிக்கும் பொழுது ஏற்படுகின்றன.
KeyPress Event :
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_KeyPress(object
sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
MessageBox.Show("Enter key
pressed");
}
if (e.KeyChar == 13)
{
MessageBox.Show("Enter key
pressed");
}
}
}
}
KeyDown
Event :
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_KeyDown(object
sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter key
pressed");
}
}
}
}
KeyUp
Event :
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_KeyUp(object
sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter key
pressed");
}
}
}
}
இயக்க நேரத்தில் கண்ட்ரோல்களை உருவாக்குவது எப்படி?
சி#-ல் கண்ட் ரோல் அர்ரே உருவாக்குவது எப்படி?
How
to create Control Arrays in C# ?
Visual Studio .NET –ல் கண்ட் ரோல்
அர்ரே உருவாக்க முடியாது எனினும் பின் வரும் முறையில் அதே போன்று ஒன்றை
ஏற்படுத்தலாம். பயனர் டெக்ஸ்ட்பாக்ஸ்அல்லது பட்டன் ஆகையவற்றின் மூலம்
பயன்பாட்டுடன் தொடர்பு கொள்ளும் பொழுது இயக்க நேரத்தில் கண்ட் ரோல்களை
உருவாக்கலாம்..
How
to create Dynamic Controls in C# ?
கீழே உள்ள சான்று நிரலில் ஒவ்வொரு முறை பட்டனை அழுத்தும்
பொழுதும் இயக்க நேரத்தில் ஒவ்வொரு டெக்ஸ்ட்பாக்ஸ் உருவாகின்றது.
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
int cLeft = 1;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
AddNewTextBox();
}
public System.Windows.Forms.TextBox
AddNewTextBox()
{
System.Windows.Forms.TextBox txt =
new System.Windows.Forms.TextBox();
this.Controls.Add(txt);
txt.Top = cLeft * 25;
txt.Left = 100;
txt.Text = "TextBox " +
this.cLeft.ToString();
cLeft = cLeft + 1;
return txt;
}
}
}
Keep Form on Top of All Other Windows
The
System.Windows.Forms நேம் பேஸ் ஆனது மைக்ரோ சாப்ட் விண்டோஸ் இயக்க முறைமையின்
பலன்களை பயன்படுத்திக் கொண்டு சிறந்த பயனர் இடை முகப்பை தருகின்றது ஒரு ஃபார்ம் ஒன்றினை மற்ற ஃபார்ம்களுக்கு
மேற்புறத்தில் வரவைக்க அதன் topmost பண்பிற்கு true என்று மதிப்பிருத்துவதன் மூலம்
செய்யலாம்.
Form2 frm = new Form2();
frm.TopMost = true;
frm.Show();
இந்த பண்பை பயன் படுத்தி ஃபார்ம் ஒன்றினை எப்பொழுதும் மெசேஸ்
பாக்ஸ் போன்று வரவைக்கலாம்.
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
Form2 frm = new Form2();
frm.TopMost = true;
frm.Show();
}
}
}
C# Timer Control
What
is Timer Control ?
Timer Control ஆனது client side மற்றும் server side
ஆகியவற்றில் முக்கிய பங்கு வகிக்கின்றது. எந்த ஒரு இடையீடும் இன்றி ஒரு
குறிப்பிட்ட மில்லி செகண்டுகள்ளுக்கு ஒரு முறை ஒரு குறிப்பிட்ட ஈவண்டை
ஏற்படுத்துகின்றது
Use
of Timer Control
வெவ்வேறு சூழ்நிலைகளின் பொழுது நமக்கு டைமர் கண்ட் ரோல்
ஆப்ஜெக்ட் பயன்படுகின்றது. ஒரு குறிப்பிட்ட செயற்பாட்டை குறிப்பிட்ட நேரத்திற்கு
ஒரு முறை இயக்குவது, அனிமேசன் கிராபிக்ஸில் வேகத்தை அதிகப் படுத்துதல் அல்லது
குறைத்தல் போன்ற வற்றிற்கு டைமர் கண்ட் ரோல் பயன்படுகின்றது.
ஒரு டைமர் கண்ட் ரோல் ஆனது இயக்க
நேரத்தில் எந்த வித தோற்றமும் இருக்காது
How
to Timer Control ?
டைமர் கண்ட் ரோல் ஆனது மில்லி செகண்ட்
, மினிட்ஸ் அல்லது மணிக்கு ஒரு முறை
கோடிங்கை இயக்குகின்றது ஒரு செகண்ட் என்பது 1000 மில்லி செகண்ட் ஆகும் . அதாவது
ஒரு நிமிடத்திற்கு முறை இயக்கவதற்கு 60000(60* 1000) என இண்டர்வல் பண்பிற்கு மதிப்பிருத்துவது
வேண்டும். பொதுவாக அதன்
enabled என்ற பண்பு false ஆக இருக்கும். அதை true என்று மதிப்பிருத்துவது
வேண்டும்.
Timer
example
பின் வரும் நிரலில் 1000 மில்லி செகண்டிற்கு ஒரு முறை(ஓரு
செகண்ட்) நிகழ் நேரத்தை ஒரு லேபிளில் காண்பிக்கும். அதன் டைமர் இண்டர்வல் 1000 என
மதிப்பிருத்தப்பட்டிருக்க வேண்டும்.
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender,
EventArgs e)
{
label1.Text =
DateTime.Now.ToString();
}
}
}
Start
and Stop Timer Control
Start மற்றும் stop
மெத்தட்கள் மூலம் ஒரு டைமரை இய்க்கவும் அல்லது முடிவிற்கு கொண்டு வர வைக்கவும்
முடியும்.
பின் வரும் நிரல் 10
செகண்டிற்கு தான் டைமர் கண்ட் ரோலை இயக்கும். அதற்கு பிறகு அதை நிறுத்தி விடும்.
using
System;
using
System.Windows.Forms;
namespace
WindowsFormsApplication2
{
public partial class Form1 : Form
{
int second = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender,
EventArgs e)
{
timer1.Interval = 1000;
timer1.Start();
}
private void timer1_Tick(object sender,
EventArgs e)
{
label1.Text =
DateTime.Now.ToString();
second = second + 1;
if (second >= 10)
{
timer1.Stop();
MessageBox.Show("Exiting from
Timer....");
}
}
}
}
How to use C# ArrayList Class
அர்ரர் லிஸ்ட் என்பது நமக்கு ஏற்றாற் போல் மாற்றிக் கொள்ளும்
டேட்டா ஸ்டரக்சர் ஆகும். இது சாதாரண மதிப்புகளின் தொகுப்பு ஆகும். அதில் நாம்
புதிதாக ஒரு டேட்டாவை சேர்த்துக் கொள்ளலாம். அல்லது ஒரு குறிப்பிட்ட இன்டக்ஸில்
உட்புகுத்தலாம், டெலீட் செய்யலாம். இதன் அளவை இயக்க நேரத்தில் கூட்டவோ அல்லது
குறைக்கவோ முடியும்.
Add : புதிதாக
ஒரு டேட்டாவை சேர்த்துக் கொள்ளலாம்.
Insert : புதிதாக ஒரு டேட்டாவை ஒரு குறிப்பிட்ட இண்டக்ஸில் இன்செர்ட்
செய்யலாம்
Remove : ஒரு குறிப்பிட்ட டேட்டாவை டெலீட் செய்யலாம் RemoveAt: ஒரு குறிப்பிட்ட இண்டெக்ஸில் உள்ள டேட்டாவை டெலீட் செய்யலாம்.
Sort : அர்ரே
லிஸ்டை ஏறுவரிசை இறங்கு வரிசை ஆகியவற்றில் மாற்றி அமைத்துக் கொள்ளலாம்.
டேட்டா புதிதாக சேர்த்துக் கொள்ளல்
Syntax : ArrayList.add(object)
object : The Item to be add the ArrayList
ArrayList arr;
arr.Add("Item1");
ஒரு குறிப்பிட்ட இண்டக்ஸில் டேட்டாவை
இன்செர்ட் செய்தல்
Syntax : ArrayList.insert(index,object)
index : The position of the item in an
ArrayList
object : The Item to be add the ArrayList
ArrayList arr;
arr.Insert(3, "Item3");
ஒரு டேட்டாவை டெலீட் செய்தல்
Syntax : ArrayList.Remove(object)
object : The Item to be add the ArrayList
arr.Remove("item2")
ஒரு குறிப்பிட்ட இண்டெக்ஸில் உள்ள
டேட்டாவை டெலீட் செய்தல்
Syntax : ArrayList.RemoveAt(index)
index : the position of an item to remove
from an ArrayList
ItemList.RemoveAt(2)
அர்ரேயை சார்ட் செய்தல்
Syntax : ArrayList.Sort()
சான்று நிரல்:
using
System;
using
System.Collections;
using
System.Windows.Forms;
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
int i = 0;
ArrayList ItemList = new
ArrayList();
ItemList.Add("Item4");
ItemList.Add("Item5");
ItemList.Add("Item2");
ItemList.Add("Item1");
ItemList.Add("Item3");
MessageBox.Show ("Shows Added
Items");
for (i = 0; i < = ItemList.Count
- 1; i++)
{
MessageBox.Show(ItemList[i].ToString());
}
//insert an item
ItemList.Insert(3,
"Item6");
//sort itemms in an arraylist
ItemList.Sort();
//remove an item
ItemList.Remove("Item1");
//remove item from a specified
index
ItemList.RemoveAt(3);
MessageBox.Show("Shows final
Items the ArrayList");
for (i = 0; i < = ItemList.Count
- 1; i++)
{
MessageBox.Show(ItemList[i].ToString());
}
}
}
}
இந்த நிரலை இயக்கும் பொழுது முதலில் ஐந்து ஐட்டம்கள் ஆட் செய்து பின்பு அதை காட்சிபடுத்துகின்றது. பிறகு மூன்றாவது இண்டக்ஸில் ஒரு ஐட்டம் புதிதாக சேர்த்துக் கொள்ளப் படுகின்றது. பின்பு அது சார்ட் செய்யப்படுகின்றது. பிறகு ஐட்டம்1 மற்றும் மூன்றாவது இண்டெக்ஸில் உள்ள ஐட்டம் ஆகியவை டெலீட் செய்யப்பட்டு பின்பு காண்பிக்கப் படுகின்றது.
How to use C# HashTable Class
இது key /value ஆகியவற்றின் தொகுப்பாக பயன்படுகின்றது.
Hash table ஒன்றில்
பயன்படுத்தப்படும் மெத்தட்கள்:
Add :
புதிதாக ஒரு key மற்றும் value
சேர்த்துக் கொள்ள
ContainsKey : ஒரு குறிப்பிட்ட கீ இருக்கின்றதா என சோதிக்க ContainsValue: ஒரு குறிப்பிட்ட மதிப்பு இருக்கின்றதா என சோதிக்க
Check the specified Value exist in HashTable
Remove :
ஒரு குறிப்பிட்ட கீ மற்றும் மதிப்பு
இரண்டையும் டெலீட் செய்ய
Add
செய்தல்
Syntax : HashTable.Add(Key,Value)
Key : The Key value
Value : The value of corresponding key
Hashtable ht;
ht.Add("1", "Sunday");
ContainsKey
: கீ உள்ளதா என பரிசோதித்தல்
Synatx : bool HashTable.ContainsKey(key)
Key :
The Key value for search in HahTable
Returns : return true if item exist else
false
ht.Contains("1");
ContainsValue
: மதிப்பு உள்ளதா என பரிசோதிக்க
Synatx : bool HashTable.ContainsValue(Value)
Value : Search the specified Value in
HashTable
Returns : return true if item exist else
false
ht.ContainsValue("Sunday")
Remove
: குறிப்பிட்ட் கீ மற்றும் வேல்யூ
ஆகியவற்றை டெலீட் செய்தல்
Syntax : HashTable.Remove(Key)
Key : The key of the element to remove
ht.Remove("1");
சான்று
நிரல்:
using
System;
using
System.Collections;
using
System.Windows.Forms;
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
Hashtable weeks = new Hashtable();
weeks.Add("1",
"SunDay");
weeks.Add("2",
"MonDay");
weeks.Add("3",
"TueDay");
weeks.Add("4",
"WedDay");
weeks.Add("5",
"ThuDay");
weeks.Add("6",
"FriDay");
weeks.Add("7",
"SatDay");
//Display a single Item
MessageBox.Show(weeks["5"].ToString ());
//Search an Item
if
(weeks.ContainsValue("TueDay"))
{
MessageBox.Show("Find");
}
else
{
MessageBox.Show("Not
find");
}
//remove an Item
weeks.Remove("3");
//Display all key value pairs
foreach (DictionaryEntry day in
weeks )
{
MessageBox.Show (day.Key +
" - " + day.Value );
}
}
}
}
இந்த நிரலை நாம் இயக்கும் பொழுது முதலில் ஏழு கீ/வேல்யூ டேட்டா ஆட் செய்யப் படுகின்றது.. பிறகு TueDay என் மதிப்புள்ளதா என சோதிக்கின்றது. பிறகு மூன்றாவது ஐட்டம் டெலீட் செய்யப்படுகின்றது. பிறகு மொத்த டேட்டாவையும் காண்பிக்கின்றது.
How to use C# Stack Class
Stack ஆனது last-in-first-out
(LIFO) என்பதன் அடிப்படையில் அமைந்த டேட்டா ஸ்ட்ரக்சர் ஆகும். இதில்
கடைசியில் ஒரு ஐட்டம் ஆட்(push) செய்யலாம். கடைசியில் உள்ள டேட்டாவை டெலீட்
(Pop)செய்யலாம்.
பொதுவாக பயன்படும் மெதட்கள்:
Push :
புதிதாக ஒரு டேட்டாவை சேர்க்க
Pop : கடைசியில் உள்ள டேட்டாவை நீக்க.
Contains: குறிப்பிட்ட டேட்டா உள்ளதா என பரிசோதிக்க
Push
: ஆப்ஜெக்ட் சேர்த்தல்
Syntax : Stack.Push(Object)
Object : The item to be inserted.
Stack days = new Stack();
days.Push("Sunday");
Pop
: கடைசியில் உள்ள ஆப்ஜெக்டை நீக்குதல்
Syntax : Object Stack.Pop()
Object : Return the last object in the Stack
days.Pop();
Contains
: குறிப்பிட்ட ஆப்ஜெக்ட் ஸ்டாக்கில்
உள்ளதா என பரிசோதித்தல்
Syntax : Stack.Contains(Object)
Object : The specified Object to be search
days.Contains("Tuesday");
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
Stack days = new Stack();
days.Push("SunDay");
days.Push("MonDay");
days.Push("TueDay");
days.Push("WedDay");
days.Push("ThuDay");
days.Push("FriDay");
days.Push("SaturDay");
if (days.Count ==7)
{
MessageBox.Show(days.Pop().ToString ());
}
else
{
MessageBox.Show("SaturDay
does not exist");
}
}
}
}
How to use C# Queue Class
Queue ஆனது FIFO( a first-in, first-out) முறையில் அமைந்த டேட்டா ஸ்ட்ரக்சர் ஆகும். இதன் ஆரம்பத்தில்
உள்ள ஆப்ஜெக்டை தான் நாம் டெலீட் செய்ய முடியும். புதிதாக ஒரு ஆப்ஜெக்ட் சேர்த்து
கொள்ளுதல் Enqueue எனப்படுகின்றது.
நீக்குதல் dequeue எனப்படுகின்றது. Peek என்பது
க்யூவின் முதல் ஆப்ஜெக்டின் ரெஃபெரன்ஸை பெற உதவுகின்றது.க்யூ ஆனது நல் வேல்யூகளை
ஏற்றுக் கொள்ளுகின்றது. டூப்லிகேட் ஆப்ஜெக்டுகளையும் சேர்த்துக் கொள்ளுகின்றது.
க்யூவில் உள்ள முக்கியமான மெதட்கள்:
Enqueue : Add an Item in Queue
Dequeue : Remove the oldest item from Queue
Peek : Get the reference of the oldest item
Enqueue
: புதிதாக ஐட்டல் சேர்த்துக் கொள்தல்
Syntax : Queue.Enqueue(Object)
Object : The item to add in Queue
days.Enqueue("Sunday");
Dequeue
: முதலில்
உள்ள ஐட்டத்தை நீக்குதல்Remove the oldest item from Queue (we don't get the item
later)
Syntax : Object Queue.Dequeue()
Returns : Remove the oldest item and return.
days.Dequeue();
eek
: முதல் ஐட்டத்தின் reference பெறுதல்
Syntax : Object Queue.Peek()
returns : Get the reference of the oldest
item in the Queue
days.peek();
சான்று நிரல்:
using
System;
using
System.Collections;
using
System.Windows.Forms;
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
Queue days = new Queue();
days.Enqueue("Sunday");
days.Enqueue("Monday");
days.Enqueue("Tuesday");
days.Enqueue("Wednsday");
days.Enqueue("Thursday");
days.Enqueue("Friday");
days.Enqueue("Saturday");
MessageBox.Show
(days.Dequeue().ToString ());
if
(days.Contains("Monday"))
{
MessageBox.Show("The queue
contains Monday");
}
else
{
MessageBox.Show("Does not
match any entries");
}
}
}
}
How to use C# NameValueCollection Class
NameValueCollection
ஆனது கீ/வேல்யூ அடிப்ப்டையில்
டேட்டாவை சேமிக்கின்றது. இது hash table போன்றது தான். எனினும் இதில் ஒரு கீயில்ஒன்றுக்கும்
மேற்பட்ட பண்புகளை சேமிக்கலாம்.
System.Collections.Specialized Class என்பதை நம் நிரலில் உபயோகப் படுத்தல் வேண்டும்.
Adding
new pairs
NameValueCollection.Add(name,value)
NameValueCollection pair = new
NameValueCollection();
pair.Add("High", "80");
Get
the value of corresponding Key
string[]
NameValueCollection.GetValues(index);
NameValueCollection pair = new
NameValueCollection();
pair.Add("High", "80");
string[] vals = pair.GetValues(1);
using
System;
using
System.Collections;
using
System.Windows.Forms;
using
System.Collections.Specialized;
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object
sender, EventArgs e)
{
NameValueCollection markStatus =
new NameValueCollection();
string[] values = null;
markStatus.Add("Very
High", "80");
markStatus.Add("High",
"60");
markStatus.Add("medium",
"50");
markStatus.Add("Pass",
"40");
foreach (string key in
markStatus.Keys)
{
values =
markStatus.GetValues(key);
foreach (string value in
values)
{
MessageBox.Show (key +
" - " + value);
}
}
}
}
}
-முத்து
கார்த்திகேயன்,மதுரை.
No comments:
Post a Comment