c# .নেট এ উইন্ডোস এপ্লিকেশন ডেভেলপমেন্ট

c# নিয়ে কাজ করার জন্য বেস্ট ওয়েবসাইট http://csharp.net-informations.com/

For Follow English Tuturials

১.প্রথমে ভিজ্যুয়াল ষ্টুডিও ২০১৩ বা অন্য ভার্সন ইনস্টল করে একটি প্রজেক্ট তৈরী করতে হবে new project ->visual c #-> Windows form application সিলেক্ট করে প্রজেক্ট এর একটি নাম দিতে হবে। ডিফল্ট ভাবে একটি form১ নাম একটি ফর্ম দেবে যাতে বামপাশের টুলবাক্স হতে কম্পোনেন্ট সিলেক্ট করে ড্র্যাগ এন্ড ড্রপ করে ফর্ম নিজের মতো করে সাজাতে হবে। কোনো কম্পোনেন্ট coustomize করতে হলে ডানপাশের উইন্ডো হতে পছন্দ করে কাস্টোমাইজ করতে হবে যেমন কম্পোনেন্ট এর একসেস ভ্যারিয়েবল এর নাম পরিবর্তন করতে হলে name এট্রিবিউট চেঞ্জ করতে হবে ইত্যাদি।

নিচে কিছু কাজের শর্টকাট দেয়া হলো :

কনসোল এ কিছু প্রিন্ট করা :
Console.WriteLine(“Hello World!”);

কোড মোড হতে ডিজাইন মোড এ আসা : কোনো সময় মোড হতে ডিজাইন মোড এ আস্তে রাইট বাটন ক্লিক করে ভিউ ডিজাইনমোড এ ক্লিক করলে ডিজাইনএ আসবে

ডট নেট উইন্ডোস ফর্ম এ ভ্যারিয়েবল এর নাম ঠিক করা : কম্পোনেন্ট সিলেক্ট করে PROPITIES এ NAME নাম এ একটি ফিল্ড আছে ওটাই যে নাম দেব কম্পোনেন্ট টি সেই ভ্যারিয়েবল নাম এক্সেস করা যাবে

বাটন এ ক্লিক ইভেন্ট যোগ করা : প্রথমে বাটন সিলেক্ট করে দেন পাশ হতে ইভেন্ট মেনু হতে ক্লিক ইভেন্ট সিলেক্ট করে বা অন্য যেকোনো ইভেন্ট সিলেক্ট করে ডাবল ক্লিক করলে ক্লিক বা অন্য যেকোনো ইভেন্ট সংঘটিত হলে কি করতে হবে তার একটি ফাংশন আসবে ফাংশনের মধ্যে কোড লিখতে হবে।

প্রিন্ট করা : কোনো একটি বাটনে ক্লিক ইভেন্ট সেট করে নিচের এই কোড দিলে প্রিন্ট উইন্ডো আসার কাজ হয়ে যাবে

PrintDialog printdialog = new PrintDialog();
printdialog.ShowDialog();

পিকচার বাক্স এ পিকচার সিলেক্ট করে শো করানো : প্রথমে একটি পিকচার বাক্স নিয়ে তাতে ক্লিক বা ডাবল ক্লিক সেট করে ক্লিক ফাংশনের মধ্যে নিচের কোড টি দিতে হবে
OpenFileDialog openfiledialog = new OpenFileDialog();

                   OpenFileDialog openfiledialog = new OpenFileDialog();
 openfiledialog.Filter = "*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";

        if(openfiledialog.ShowDialog() == DialogResult.OK){
            pictureBox1.Image = Bitmap.FromFile(openfiledialog.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

        }

ডাটাটেবিল তৈরী
ডাটাটেবিল তৈরী করে তাতে ডাটা ঢুকিয়ে গ্রিড ভিউতে শো করানো : প্রথমে ফর্ম যেখানে initilize হয়েছে সেখানে ডাটা টেবিল তৈরী করে কালাম ও রও তে ডাটা ইন্সার্ট করতে এই কোড লিখতে হয়। এখানে ফর্ম ১ হলো আমার ফর্ম এর নাম

    public Form1()
{
InitializeComponent();    
// Initialize Data Table
        DataTable datatable = new DataTable();

        // Intialize Column
        datatable.Columns.Add("Name");
        datatable.Columns.Add("Email");
        datatable.Columns.Add("Address");

        // initialize Row 
        datatable.Rows.Add("Olee", "oleetechs@gmail.com", "Dhaka Bangladesh");
        datagridview1.DataSource = datatable;
    }

নতুন একটি ফর্ম নিতে:
ডানপাশের সল্যুশন মেনু হতে প্রজেক্ট এ মাউস রেখে রাইট বাটন ক্লিক করে add বাটন ক্লিক করে windows ফর্ম ক্লিক করে ফর্ম এর একটি নাম দিয়ে ওকে করতে হবে। কোনো ফর্ম যদি রান অবস্থায় থাকে তবে উপরের প্রসেস কাজ করবে না রান করা উইন্ডো অফ করে কাজ করতে হবে।

মেসেজ বক্স শো করানো :
string message = “Simple MessageBox”;
string title = “Title”;
MessageBox.Show(message, title);

লাইন separator কিভাবে করবো :
প্রথমে একটি lable নেবো তার পর
// separator bevel line
label1.AutoSize = false;
label1.Height = 2;
label1.BorderStyle = BorderStyle.Fixed3D;

একটা উইন্ডো হতে আরেকটা উইন্ডো তে যাওয়া :

 Form1 form1 = new Form1();
            form1.Show();
            this.Hide();

.net c# Mysql Connector Requirement For Details Go

mysql ডাটাবেস এর সাথে কাজ :
প্রথমে।ডট নেট এর ৪.৫.২ বা এর আপগ্রেড ভার্সন এর ডেভেলপার ভার্সন ডাউনলোড করতে হবে ইনস্টল করতে হবে।
প্রজেক্ট মেনু তে রাইট বাটন ক্লিক করে add ->reference ->framework হতে mysql.data অ্যাড করে ওকে করতে হবে তারপর
using MySql.Data.MySqlClient; ইম্পোর্ট করতে হবে
কানেকশন এর জন্য নিচের কোড এ কাজ করতে হবে

string cs = @"server=localhost;userid=root;password=root;database=test";
bool isConn = false;         
try
         {
             MySqlConnection con = new MySqlConnection(cs);
             con.Open();
             isConn = true;
         }
         catch (Exception)
         {

             isConn = false;

         }


         if (isConn) {
             MessageBox.Show("ok");
         }

mysql কানেকশন এর পর নিচের সিস্টেম ফলো করে ইন্সার্ট আপডেট ডিলিট ভিউ এর কাজ করতে হবে link

Mysql Connection Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Windows.Forms;


namespace StudentManagementSystem
{
    class Database
    {

        private MySqlConnection connection;

        private String server;
        private String database;
        private String dbusername;
        private String dbpassword;
        private int Port;

        public Database()
        {

            Initialize();
        }

        private void Initialize()
        {
            server = "localhost";
            Port = 3306;
            database = "test";
            dbusername = "root";
            dbpassword = "root";
            String connectingString = "SERVER=" + server + ";Port="+3306+";" + "DATABASE=" +
        database + ";" + "UID=" + dbusername + ";" + "PASSWORD=" + dbpassword + ";";

            connection = new MySqlConnection(connectingString);

        }

        //open connection to database
        public bool OpenConnection()
        {

            try { 
            connection.Open();
                return true;
            }

            catch(MySqlException e){
                //When handling errors, you can your application's response based 
                //on the error number.
                //The two most common error numbers when connecting are as follows:
                //0: Cannot connect to server.
                //1045: Invalid user name and/or password.
                switch (e.Number)
                {
                    case 0:
                        MessageBox.Show("Cannot connect to server.  Contact administrator");
                        break;

                    case 1045:
                        MessageBox.Show("Invalid username/password, please try again");
                        break;
                }
                return false;

            }
            
        }

        //Close connection
        private bool CloseConnection()
        {
            try
            {
                connection.Close();
                return true;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }

        }

        //Insert statement
        public void Insert(String query)
        {
            if (this.OpenConnection() == true) {
                //create mysql command
                MySqlCommand mysqlcommand = new MySqlCommand();
                //Assign the query using CommandText
                mysqlcommand.CommandText = query;
                //Assign the connection using Connection
                mysqlcommand.Connection = connection;
                mysqlcommand.ExecuteNonQuery();
                this.CloseConnection();
            }
           
        }

        //Update statement
        public void Update()
        {
        }

        //Delete statement
        public void Delete( String query)
        {
            if (this.OpenConnection() == true)
            {
                MySqlCommand mysqlcommand = new MySqlCommand(query, connection);
                mysqlcommand.ExecuteNonQuery();
                this.CloseConnection();
            }

        }

        //Count statement
        public int Count(String query)
        {
            int Count = -1;

            //Open Connection
            if (this.OpenConnection() == true)
            {
                //Create Mysql Command
                MySqlCommand mysqlcommand = new MySqlCommand(query, connection);

                //ExecuteScalar will return one value
                Count = int.Parse(mysqlcommand.ExecuteScalar() + "");

                //close Connection
                this.CloseConnection();

                return Count;
            }
            else
            {
                return Count;
            }
        }

        //Backup
        public void Backup()
        {
        }

        //Restore
        public void Restore()
        {
        }

    }
}

mysql এ ডাটা ইন্সার্ট করার জন্য

    bool isConn = false;
        public MySqlConnection connection() {
            MySqlConnection con = null;
            string cs = @"server=localhost;userid=root;password=root;database=test";
            try
            {
                 con = new MySqlConnection(cs);
                con.Open();
                isConn = true;
                return con;

            }
            catch (Exception)
            {

                isConn = false;


            }

            return con;
        }

     


        private void button1_Click(object sender, EventArgs e)
        {


           MySqlConnection con =  connection();
            
            if (isConn)
            {

                String dates =  date.Value.ToString("yyyy-MM-dd"); 
                String insertquery = "INSERT INTO samplercvd ( sl, date) VALUES ('" + serial.Text + "','" + dates + "')";
                MySqlCommand mySqlCommand = new MySqlCommand(insertquery, con);

                try
                {
                    if (mySqlCommand.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Data Inserted");
                    }
                    else
                    {
                        MessageBox.Show("Data Not Inserted");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }


            }
        }

Datagridview ডাটাটেবিল mYSQLডাটা দিয়ে ফিল করা :
প্রথমে MYSQL ডাটাবেসের সাথে কানেকশন করে তারপর :

  using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM Customers", con))
        {
            cmd.CommandType = CommandType.Text;
            using (MySqlDataAdapter sda = new MySqlDataAdapter(cmd))
            {
                using (DataTable dt = new DataTable())
                {
                    sda.Fill(dt);
                    dataGridView1.DataSource = dt;
                }
            }
        }

Datagridview ডাটাটেবিল mYSQL ডাটা দিয়ে ফিল করা :
প্রথমে SQL ডাটাবেসের সাথে কানেকশন করে তারপর :

    private void button1_Click(object sender, EventArgs e)
        {
            string connectionString = "Data Source=.;Initial Catalog=pubs;Integrated Security=True";
            string sql = "SELECT * FROM Authors";
            SqlConnection connection = new SqlConnection(connectionString);
            SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
            DataSet ds = new DataSet();
            connection.Open();
            dataadapter.Fill(ds, "Authors_table");
            connection.Close();
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "Authors_table";
        }

c# ডট নেট এ php পেজ এ রিকোয়েস্ট পাঠিয়ে ডাটা ম্যানিপুলেশন করা :
POST মেথড বেবহার করে : প্রথম সেকশন এ php কোড এবং দ্বিতীয় সেকশন এ সি শার্প কোড For Details

<?php

$_GET["name"] = "gujgjghj";
$_GET["age"] = "yuhgfyhgfjh";
if (isset($_GET["name"]) && isset($_GET["age"])) {
   echo $_GET["name"].$_GET["age"];
}
        private void button1_Click(object sender, EventArgs e)
        {
            String name = "olee";
            String age = "35";
            String urlAddress = "http://localhost/TEST/";

            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
       {
              { "name", name },  //order: {"parameter name", "parameter value"}
              { "age", age }
       };

                // client.UploadValues returns page's source as byte array (byte[])
                // so it must be transformed into a string
                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
                MessageBox.Show(pagesource);
            }
        }

GET মেথড ব্যবহার করে :

string username = "john";
string urlAddress = "http://www.yoursite.tld/somepage.php?name=" + username;  

using (WebClient client = new WebClient())
{
       // this string contains the webpage's source
       string pagesource = client.DownloadString(urlAddress);  
}

আউটপুট :

PHP জেসন এরে ডট নেট এপ্লিকেশন এ শো করানো :

<?php
$a = array(
    array('one' => 'Bangladesh'),
    array('two' => 'India'));

if (isset($_POST["name"]) && isset($_POST["age"])) {
    $json = json_encode($a);
echo  $json;
    
}

        private void button1_Click(object sender, EventArgs e)
        {
            String name = "olee";
            String age = "35";
            String urlAddress = "http://localhost/TEST/";

            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
{
       { "name", name },  //order: {"parameter name", "parameter value"}
       { "age", age }
};

                // client.UploadValues returns page's source as byte array (byte[])
                // so it must be transformed into a string
                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
                MessageBox.Show(pagesource);
            }
        }

আউটপুট :

এপ্লিকেশন পাবলিশ
এপ্লিকেশন টি তৈরী হয়ে গেলে ডানপাশে সল্যুশন মেনু হতে প্রজেক্ট এ রাইট বাটন ক্লিক করে পাবলিশ মেনু হতে অপসন মেনু তে এপ্লিকেশন এর কিছু ডেসক্রিপশন এর ঘর পূরণ করে এপ্লিকেশন পাবলিশ বাটন ক্লক করলে এপ্লিকেশন তৈরী হয়ে যাবে।

উইন্ডোস এর সাধারণ ইনস্টলের মতো ইনস্টল করার সিস্টেম করে এপ্লিকেশন পাবলিশ করা :
প্রথমে tools -> extention আপডেট হতে visual studio installer লিখে সার্চ করলে এক্সটেনশনটি ডাউনলোড করে ইনস্টল করতে হবে।
সল্যুশন মেনু হতে রাইট বাটন ক্লিক করে add new প্রজেক্ট ->other type project ->visual studio installer এ ক্লিক করলে একটি উইন্ডো আসবে বর্তমান প্রজেক্ট এর মধ্যে একটি প্রজেক্ট তৈরী করে build menu হতে bacth build ক্লিক করে প্রজেক্ট দুইটি সিলেক্ট করে একটি নাম দিয়ে ওকে করতে হবে

Published by

Unknown's avatar

Nusrat Faria

I Am A Web Developer And A Android Developer. This Is My Personal Blog So Noted My Work For Helping People .

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.