Click here to Skip to main content
15,881,248 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I've tried in last part to figure something out and I think I just have got it to switch to the send button when hitting enter but how do i make it click the button?
Button2 is the send button by the way...

C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;


namespace Chat_Program
{
    public partial class Form1 : Form
    {
        Socket sck;
        EndPoint epLocal, epRemote;
        byte[] buffer;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            {
                //set up socket
                sck = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                sck.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

                // get user IP
                textBox1.Text = GetLocalIP();
                textBox3.Text = GetLocalIP();

                {

                }

            }
        }

        private string GetLocalIP()
        {
            IPHostEntry host;
            host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                    return ip.ToString();

            }

            return "192.168.0.1";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //binding Socket
            epLocal = new IPEndPoint(IPAddress.Parse(textBox1.Text), Convert.ToInt32(textBox2.Text));
            sck.Bind(epLocal);
            //Connecting to remote IP
            epRemote = new IPEndPoint(IPAddress.Parse(textBox3.Text), Convert.ToInt32(textBox4.Text));
            sck.Connect(epRemote);
            //Listening the specific port
            buffer = new byte[1500];
            sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
            button1.Enabled = false;
            richTextBox1.Enabled = true;
            label5.Text = "Connected...";

        }

        private void MessageCallBack(IAsyncResult aResult)
        {
            try
            {

                byte[] receivedData = new byte[1500];
                receivedData = (byte[])aResult.AsyncState;
                //Converting byte[] to string
                ASCIIEncoding aEncoding = new ASCIIEncoding();
                string receivedMessage = aEncoding.GetString(receivedData);

                //Adding this message into Listbox
                listBox1.ForeColor = System.Drawing.Color.Red;
                listBox1.Items.Add("Friend: " + receivedMessage);

                buffer = new byte[1500];
                sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);


            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());

            }


        }

        private void button2_Click(object sender, EventArgs e)
        {
            //Convert string message to byte[]
            ASCIIEncoding aEncoding = new ASCIIEncoding();
            byte[] sendingMessage = new byte[1500];
            sendingMessage = aEncoding.GetBytes(richTextBox1.Text);
            //Sending the Encoded message
            sck.Send(sendingMessage);
            //adding to the listbox
            listBox1.Items.Add("Me: " + richTextBox1.Text);
            richTextBox1.Text = "";


        }


        private void button3_Click(object sender, EventArgs e)
        {

        }

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {

            if (string.IsNullOrEmpty(richTextBox1.Text))
            {
                button2.Enabled = false;

            }
            else
            {
                button2.Enabled = true;

            }
        }

        private void button3_Click_1(object sender, EventArgs e)
        {


            label5.Text = "Disconnected!";
            sck.Disconnect(true);


        }

        private void button4_Click(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            Form2 form2 = new Form2();
            Form3 form3 = new Form3();

            Application.Exit();


        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
        }

        private void label5_TextChanged(object sender, EventArgs e)
        {

            {

            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Form1 form1 = new Form1();
            Form2 form2 = new Form2();
            Form3 form3 = new Form3();

            Application.Exit();

        }

        private void Form1_DoubleClick(object sender, EventArgs e)
        {
            SendKeys.Send("{ENTER}");
        }

        private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                // something
                button2.Focus();
                
            }

        }

    }
}
Posted

1 solution

I guess I'm assuming this is a c# winforms application? If so, select the form. There is a property on the form called "AcceptButton" set that to your button2. That should make it the default for the "enter" key.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900