Wednesday, July 4, 2018

டாட்நெட் கற்றுக் கொள்ளலாம் -பகுதி-7


C# ComboBox Control
C# கண்ட்ரோல்கள் டூல் பாக்ஸில் இருக்கும். அதை மவுஸ் மூலம் கிளிக் செய்து ஃபார்மில் டிராக் செய்து கொள்ளலாம். காம்போபாக்ஸ் ஆனது டெக்ஸ்ட்பாக்ஸ் மற்றுல் லிஸ்ட் பாக்ஸ் இரண்டும் இணைந்ததாகும். பயனர் லிஸ்ட் பாக்ஸில் இருந்து ஒரு ஐட்டத்தை தேர்ந்தெடுக்கலாம் அல்லது லிஸ்ட் பாக்ஸில் புதிதாக டைப் செய்யலாம்











ஒவ்வொரு ஆப்ஜெக்ட் ஆக Add  மெத்தட் மூலமாக சேர்த்துக் கொள்ளலாம். Remove மெத்தட் மூலம் ஒவ்வொரு ஆப்ஜெக்ட் ஆக டெலீட் செய்யலாம். Clear மெத்தட் மூலமாக மொத்தமாக எல்லா ஆப்ஜெக்டுகளையும் டெலீட் செய்யலாம்
காம்போ பாக்ஸில் ஐட்டம் ஆட் செய்தல்

comboBox1.Items.Add("Sunday");
comboBox1.Items.Add("Monday");
comboBox1.Items.Add("Tuesday");

ComboBox SelectedItem
காம்போ பாக்ஸில் இருந்து ஒரு ஐட்டத்தை எவ்வாறு பெறுவது?

string var;
var = comboBox1.Text;
                       Or
var item = this.comboBox1.GetItemText(this.comboBox1.SelectedItem);
MessageBox.Show(item);

காம்போ பாக்ஸில் இருந்து ஒரு ஐட்டத்தை எவ்வாறு ரிமூவ் செய்வது?
இரண்டு வகைகளில் காம்போ பாக்ஸில் இருந்து ஒரு ஐட்டத்தை நீக்கலாம் ஒன்று அதன் இண்டெக்ஸை குறிப்பிடுவதன் மூலம் மற்றொன்று அதன் பெயரைக் குறிப்பிடுவதன் மூலம்.
  comboBox1.Items.RemoveAt(1);
மேலே உள்ள நிரல் வரியின் மூலம் ஒரு காம்போ பாக்ஸில் உள்ள இரண்டாவது ஐட்டத்தை நீக்கலாம்.
  comboBox1.Items.Remove("Friday");
மேலே உள்ள நிரல் வரியானது "Friday" என்கின்ற ஐட்டத்தை காம்போ பாக்ஸில் இருந்து நீக்கலாம்.
DropDownStyle
டிராப்டவுன்ஸ்டைல் பண்பானது லிஸ்ட் எப்போதும் காண்பிக்கப்பட வேண்டுமா அல்லது டிராப்டவுன் மூலம் காண்பிக்கப் படவேண்டுமா என்பதைக் குறிக்கின்றது.மேலும் டெக்ஸ்ட் பகுதியை எடிட் செய்யலாமா என்பதையும் குறிக்கின்றது. 

  comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
ComboBox Selected Value
செலக்டட் ஐட்டத்தை எவ்வாறு செட் செய்வது?
இதை இரண்டு வகைகளில் செய்யலாம்.

comboBox1.Items.Add("test1");
comboBox1.Items.Add("test2");
comboBox1.Items.Add("test3");
comboBox1.SelectedItem = "test3";
or
comboBox1.SelectedIndex = comboBox1.FindStringExact("test3");

ComboBox DataSource Property
காம்போ பாக்சை டேட்டா செட் மூலம் நிரப்புவது எப்படி?எஸ்க்யூஎல் ஸ்டேட்மெண்ட் கீழே இருப்பது போல் எடுத்துக் கொள்வோம்.

comboBox1.DataSource = ds.Tables[0];
comboBox1.ValueMember = "au_id";
comboBox1.DisplayMember = "au_lname";

Combobox SelectedIndexChanged event
 SelectedIndexChanged  ஈவண்ட் ஆனது ஒரு காம்போ பாக்ஸில் இரு ஐட்டத்தை தேர்ந்தெடுக்கும் போது ஏற்படுகின்றது.. ஒரு ஐட்டத்தை செலக்ட் செய்யும் பொழுது ஏதாவது நடக்க வேண்டும் என்று நீங்கள் நிணைத்தால் இந்த ஈவண்டில் நிரல் எழுதலாம். உதாரணத்திற்கு இரண்டு காம்போ பாக்ஸை ஃபார்மில் இணைத்துக் கொண்டு பின் வருமாறு நிரல் எழுதவும்.

using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("weekdays");
            comboBox1.Items.Add("year");
        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox2.Items.Clear();
            if (comboBox1.SelectedItem == "weekdays")
            {
                comboBox2.Items.Add("Sunday");
                comboBox2.Items.Add("Monday");
                comboBox2.Items.Add("Tuesday");
            }
            else if (comboBox1.SelectedItem == "year")
            {
                comboBox2.Items.Add("2012");
                comboBox2.Items.Add("2013");
                comboBox2.Items.Add("2014");
            }
        }
    }
}

Output

ComboBox Default Value
காம்போ பாக்ஸின் டிஃபால்ட் ஐட்டத்தை எவ்வாறு செட் செய்வது?
ஒரு காம்போ பாக்ஸில் டிஃபால்ட் மதிப்பாக கீழே உள்ள வரி போல் பயன்படுத்தலாம்.

comboBox1.SelectedIndex = 6;

மேலே உள்ள வரியானது ஒரு காம்போபாக்ஸின் ஏழாவது ஐட்டத்தை டிஃபால்ட் மதிப்பாக செட் செய்கின்றது.
ComboBox readonly
ஒரு காம்போ பாக்ஸை ரீட் ஒன்லி ஆக்குவது எப்படி?
ஒரு காம்போபாக்ஸை ரீட் ஒன்லி ஆக்குவதன் மூலம் நீங்கள் காம்போ பாக்ஸில் புதிதாக டைப் செய்ய இயலாது. ஆனால் லிஸ்ட் பாக்ஸில் இருந்து ஐட்டத்தை செலக்ட் செய்யலாம்.அதன் டிராப்ட்ஸ்டைல் பிராப்பர்ட்டியை DropDownList என்று மாற்ற்வதன் மூலம் அதை ரீட் ஒன்லி ஆக்கலாம். அதன் எனேபிள்ட் பிராப்பர்ட்டியை ஃபால்ஸ் ஆக்குவதன் மூலமும் அதை ரீட் ஒன்லி ஆக்கலம் comboBox1.Enabled = false.
ComboBox Example
கீழே உள்ள சான்று நிரலானது ஃபார்ம் லோட் ஈவண்டில் ஏழு நாட்களையும் ஆட் செய்கின்றது. அதில் ஏதாவது ஒன்றை செலெக்ட் செய்து பட்டனை கிளிக் செய்யும் பொழுது அந்த நாளானது மெஸ்ஸேஜ் பாக்சில் காண்பிக்கப்படும்.
using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("Sunday");
            comboBox1.Items.Add("Monday");
            comboBox1.Items.Add("Tuesday");
            comboBox1.Items.Add("wednesday");
            comboBox1.Items.Add("Thursday");
            comboBox1.Items.Add("Friday");
            comboBox1.Items.Add("Saturday");
                       comboBox1.SelectedIndex = comboBox1.FindStringExact("Sunday");

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string var;
            var = comboBox1.Text;
            MessageBox.Show(var);
        }
    }
}
C# ListBox Control
லிஸ்ட் பாக்ஸ் கண்ட்ரோல் ஆனது ஒரு லிஸ்டை காண்பிக்கும் பயனர் அதிலிருந்து ஏதாவது ஒன்றை செலக்ட்  செய்யலாம்.

Add அல்லது Insert மெத்தட் மூலம் ஒரு ஐட்டத்தை ஆட் செய்யலாம் Add மெத்தட் ஆனது ஒரு லிஸ்டின் முடிவில் ஐட்டத்தை ஆட் செய்கின்றது. இன்செர்ட் மெத்தட் ஆனது குறிப்பிட்ட இண்டெக்ஸில் ஐட்டத்தை சேர்ர்க்கின்றது.
  listBox1.Items.Add("Sunday");
கீழ உள்ள நிரல் வரியின் மூலம் லிஸ்ட் பாக்ஸில் நாம் செலெட் செய்த ஐட்டத்தை வேரியபிளில் மதிப்பிருத்தலாம்.
  string var;
  var = listBox1.Text;
ஒரு லிஸ்ட் பாக்ஸின் செலெக்சன் மோட் பிராப்பட்டியை Miultisimple  என்று மாற்றுவதன் மூலம் ஒரே நேரத்தில் ஒன்றுக்கும் மேற்பட்ட ஐட்டத்தை தேர்ந்தெடுக்கலாம்.
  listBox1.SelectionMode = SelectionMode.MultiSimple;
கீழே உள்ள சான்று நிரலில் மல்டிபிள் ஐட்டத்தை எவ்வாறு தேர்ந்தெடுப்பது என்று காண்பிக்கப் பட்டுள்ளது.

using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.Items.Add("Sunday");
            listBox1.Items.Add("Monday");
            listBox1.Items.Add("Tuesday");
            listBox1.Items.Add("Wednesday");
            listBox1.Items.Add("Thursday");
            listBox1.Items.Add("Friday");
            listBox1.Items.Add("Saturday");
            listBox1.SelectionMode = SelectionMode.MultiSimple;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (Object obj in listBox1.SelectedItems )
            {
                MessageBox.Show(obj.ToString ());
            }
        }
    }
}

ஒரு லிஸ்ட் பாக்ஸை லிஸ்டுடன் பண்ட் செய்வது எப்படி?
முதலில் கீழே உள்ளது போன்று ஒரு லிஸ்டை உருவாக்கி கொள்ளவும்.

List<string> nList = new List<string>();
nList.Add("January");
nList.Add("February");
nList.Add("March");
nList.Add("April");
 இப்போது லிஸ்ட் பாக்ஸின் டேட்டா சோர்ஸ் பிராப்பர்ட்டிக்கு லிஸ்டை மதிப்பிருத்தவும்.
listBox1.DataSource = nList; 

சான்று நிரல்:

private void button1_Click(object sender, EventArgs e)
{
    List<string> nList = new List<string>();
    nList.Add("January");
    nList.Add("February");
    nList.Add("March");
    nList.Add("April");
    listBox1.DataSource = nList;
}

லிஸ்ட் பாக்ஸை டேட்டா பேஸ் மதிப்புகளுடன் பைண்ட் செய்வது எப்படி?
அதற்கு டேட்டா பேஸுடன் முதலில் கனெக்ட் செய்துன் கொள்ள வேண்டும். பிறகு குவரி எழுத வேண்டும்.

connetionString = "Data Source=ServerName;Initial Catalog=databasename;User ID=userid;Password=yourpassword";
sql = "select au_id,au_lname from authors";

அந்த குவரியை இயக்கி டேட்டாசெட்டை fill செய்து கொள்ள வேண்டும்.

listBox1.DataSource = ds.Tables[0];
listBox1.ValueMember = "au_id";
listBox1.DisplayMember = "au_lname";


using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            SqlConnection connection;
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataSet ds = new DataSet();
            int i = 0;
            string sql = null;
            //connetionString = "Data Source=ServerName;Initial Catalog=databasename;User ID=userid;Password=yourpassword";
            //sql = "select au_id,au_lname from authors";
            connection = new SqlConnection(connetionString);
            try
            {
                connection.Open();
                command = new SqlCommand(sql, connection);
                adapter.SelectCommand = command;
                adapter.Fill(ds);
                adapter.Dispose();
                command.Dispose();
                connection.Close();
                listBox1.DataSource = ds.Tables[0];
                listBox1.ValueMember = "au_id";
                listBox1.DisplayMember = "au_lname";
            }
            catch (Exception ex)
            {
                MessageBox.Show("Cannot open connection ! ");
            }
        }
    }
}

ஏற்கனவே பைண்ட் செய்யப்பட்டுள்ள் டேட்டா சோஸை எவ்வாறு கிளியர் செய்வது?
ஒரு லிஸ்ட் பாஸை கிளியர் செய்ய கீழே உள்ள நிரல்வரியை உபயோகிக்கவும்.
listBox1.DataSource = null;
How to SelectedIndexChanged event in ListBox ?
ஒரு லிஸ்ட் பாக்ஸின் தேர்ந்தெடுக்கும் மதிப்பை மாற்றுவதன் மூலம்
SelectedIndexChanged ஈவண்ட் ஏற்படுகின்றது.
பிராப்பர்ட்டி விண்டோவில் ஈவண்ட் ஐக்கானை கிளிக் செய்து கொள்ளவும். பிறகு SelectedIndexChanged  என்பதில் டபுள் கிளிக் செய்யவும்.
ஒரு ஐட்டத்தை தெர்ந்த்டுக்கும் பொழுது இந்த  ஈவண்ட் ஏற்படுகின்றது. லிஸ்ட் பாக்ஸை டபுள் கிளிக் செய்து இந்த ஈவன்டில் கோடிங் எழுதலாம்.
கீழே உள்ள சான்று நிரல் மூலம் SelectedIndexChanged ஈவண்ட் எவ்வாறு உபயோகப் படுத்தப் படுகின்றது என்பதைக் காண்பிக்கலாம்.


முதலில் இரண்டு லிஸ்ட் பாக்ஸ்களை ஃபார்மில் ஏற்படுத்திக் கொள்ளவும். பிறகு கீழே உள்ளது போல் ஒரு லிஸ்ட் உருவாக்கிக் கொள்ளவும்.
List<string> nList = new List<string>();
nList.Add("First Quarter");
nList.Add("Second Quarter");

பிறகு இந்த லிஸ்டை லிஸ்ட் பாக்ஸிற்கு பைண்ட் செய்யவும்.இப்பொழுது "Fist Quarter" என்பதை தேர்ந்தெடுக்கும் பொழுது இரண்டாவது லிஸ்ட் பாக்ஸில் வருடத்தின் முதல் மூன்று மாதங்களும் "Second Quarter" என்பதை தேர்ந்த்டுக்கும் பொழுது வருடத்தின் இரண்டாவது மூன்று மாதங்களும் காண்பிக்கப்பட வேண்டும்.
சான்று நிரல்:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Collections.Generic;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        List  < string > fQ = new List  < string > ();
        List  < string > sQ = new List  < string > ();
     
        private void Form1_Load(object sender, EventArgs e)
        {
            fQ.Add("January");
            fQ.Add("February");
            fQ.Add("March");

            sQ.Add("April");
            sQ.Add("May");
            sQ.Add("June");

            List < string > nList = new List  < string > ();

            nList.Add("First Quarter");
            nList.Add("Second Quarter");

            listBox1.DataSource = nList;
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == 0)
            {
                listBox2.DataSource = null;
                listBox2.DataSource = fQ;
            }
            else if (listBox1.SelectedIndex == 1)
            {
                listBox2.DataSource = null;
                listBox2.DataSource = sQ;
            }
        }


    }
}
C# Checked ListBox Control
CheckedListBox control  ஆனது ஒரு லிஸ்ட் பாக்ஸின் எல்லாத் தன்மைகளையும் கொண்டது. கூடுதலாக இரு லிஸ்ட் ஐட்டத்தின் முன்ன்னால் ஒரு செக் பாக்ஸும் இருக்கும்.

checked items ஆனது CheckedListBox.CheckedItemCollection மற்றும் CheckedListBox.CheckedIndexCollectionமூலம் நேவிகேட் செய்யலாம். AddRange மெத்தட் மூலம் ஒரு ஸ்ட்ரிங்க் அர்ர்ரேயை ஒரு செக்ட்லிஸ்ட் பாக்ஸிற்கு மதிபிருத்தலாம்.
  Dim days As String() =  {"Sunday", "Monday", "Tuesday"};
  checkedListBox1.Items.AddRange(days);
தனித்தனி ஐட்டங்களாகவும் ஒரு செக்ட்லிஸ்ட் பாக்ஸிற்கு ஆட் செய்யலாம். அவ்வாறு செய்யும் பொழுது அதற்கு Checked, Indeterminate, and Unchecked என மூன்று விதமான ஸ்டேட்களை மதிப்பிருத்தலாம்.
  checkedListBox1.Items.Add("Sunday", CheckState.Checked);
  checkedListBox1.Items.Add("Monday", CheckState.Unchecked);
  checkedListBox1.Items.Add("Tuesday", CheckState.Indeterminate);

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            checkedListBox1.Items.Add("Sunday", CheckState.Checked);
            checkedListBox1.Items.Add("Monday", CheckState.Unchecked);
            checkedListBox1.Items.Add("Tuesday", CheckState.Indeterminate);
            checkedListBox1.Items.Add("Wednesday", CheckState.Checked);
            checkedListBox1.Items.Add("Thursday", CheckState.Unchecked);
            checkedListBox1.Items.Add("Friday", CheckState.Indeterminate);
            checkedListBox1.Items.Add("Saturday", CheckState.Indeterminate);
        }
    }
}
C# RadioButton Control
ரேடியோபட்டன் மூலம் பயனில் உள்ள சாய்ஸ்களில் ஏதாவது ஒன்றை தேர்ந்தெடுக்க உதவுகின்றது.




ஒரு ரேடியோபட்டன் ஆனது டெக்ஸ்ட், இமேஜ் இரண்டையுமே காண்பிக்கலாம், செக்ட் பிராப்பர்ட்டிக்கு set அல்லது get மூலம் மதிப்பிருத்தவும் பெறவும் முடியும்.
  radioButton1.Checked = true;
ரேடியோ பட்டன் மற்றும் செக்பாக்ஸ் ஆனது வேறு பட்ட தன்மைகளுடையது. செக்பாக்ஸில் எத்தனை சாய்ஸ் வேண்டுமென்றாலும் தேர்ந்தெடுக்கலாம். ரேடியோ பட்டனில் ஒரே ஒரு சாய்ஸ் தான் தேர்த்டுக்க முடியும்.
சான்று நிரல்:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            radioButton1.Checked = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (radioButton1.Checked == true)
            {
                MessageBox.Show ("You are selected Red !! ");
                return;
            }
            else if (radioButton2.Checked == true)
            {
                MessageBox.Show("You are selected Blue !! ");
                return;
            }
            else
            {
                MessageBox.Show("You are selected Green !! ");
                return;
            }
        }
    }
}
C# CheckBox Control
செக் பாக்ஸ் ஆனது பயனில் உள்ள சாய்ஸ்களில் ஒன்றுக்கும் மேற்பட்டதில் ஒன்றிற்கும் மேற்பட்டதை தேர்ந்த்டுக்க உதவுகின்றது. ஒரு செக்பாக்ஸை கிளிக் செய்வதன் மூலம் அதை தேர்ந்த்டுக்கலாம். அதே செக்பாக்சை மீண்டும் கிளிக் செய்வதன் மூலம் அதை டிசெலெக்ட் செய்யலாம். 

 CheckBox control ஆனது டெக்ஸ்ட் அல்லது இமேஜ் இரண்டையுமே காண்பிக்கலாம்.
  checkBox1.Text = "Net-informations.com";
ஒரு செக்பாக்ஸின் ThreeState பிராப்பர்ட்டியை true என்று மதிபிருத்தவதன் மூலம் அதை Checked, Unchecked, and Indeterminate ஆகிய மூன்று நிலைகளில் நிறுத்தலாம்.
  checkBox1.ThreeState = true;
சான்று நிரல்:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string msg = "";

            if (checkBox1.Checked == true)
            {
                msg = "net-informations.com";
            }

            if (checkBox2.Checked == true)
            {
                msg = msg + "   vb.net-informations.com";
            }

            if (checkBox3.Checked == true)
            {
                msg = msg + "   csharp.net-informations.com";
            }


            if (msg.Length > 0)
            {
                MessageBox.Show (msg + " selected ");
            }
            else
            {
                MessageBox.Show ("No checkbox selected");
            }

            checkBox1.ThreeState = true;
        }
    }
}

--முத்து கார்த்திகேயன்,மதுரை.
டாட்நெட், ஜாவா, பிஹெச்பி, பைத்தான், சி,சி++ போன்ற மொழிகள் கற்க அனுகவும்:
S.MUTHU KARTHIKEYAN,
M63, ELLIS NAGAR,
NARMATHA STREET, 
MADURAI.
CONTACT:919629329142

ads Udanz

No comments:

Post a Comment