Пример #1
0
 private void pictureBox_Close_Click(object sender, EventArgs e)
 {
     ChessClass.Client cc = Program.PublicClientObject;
     cc.CloseConnection();
     if (Out == true)
     {
         listener.Close();
     }
     ConnHandle = 0;
     if (GIP.Trim().Length > 4)
     {
         temMsg2.msgCommand = MsgCommand.ExitJoin;
         udpSocket1.Send(IPAddress.Parse(GIP), 11001, new ClassSerializers().SerializeBinary(temMsg2).ToArray());
         MessageBox.Show("是否关闭窗体");
     }
     this.DialogResult = DialogResult.OK;
     this.Close();
 }
Пример #2
0
        private void pboxStart_Click(object sender, EventArgs e)
        {
            pboxStart.Image = null;//清空“开始”按钮
            //设置“开始”按钮为灰度
            pboxStart.Image   = Image.FromFile(ClientClass.ImaDir + "\\Image\\开始按钮灰.png");
            pboxStart.Enabled = false;//使“开始”按钮不可用

            switch (ConnHandle)
            {
            case 1:    //第1次单击“开始”按钮,用于连接对方并开始下棋
            {
                ChessClass.Client cc = Program.PublicClientObject;
                if (cc.Connected)         //如果已开启了连接
                {
                    cc.CloseConnection(); //断开连接
                }

                try
                {
                    if (GIP == "")        //如果没有对方的IP地址
                    {
                        break;
                    }
                    cc.ConnectServer(GIP, int.Parse("11003"));        //建立连接
                }
                catch
                {
                    MessageBox.Show("连接服务器失败");        //如果连接失败,使“开始”按钮可用
                    this.pboxStart.Image   = null;
                    this.pboxStart.Enabled = true;
                    this.pboxStart.Image   = Image.FromFile(ClientClass.ImaDir + "\\Image\\开始按钮.png");
                    return;
                }
                WhoFisrtDown = false;          //设置谁先下棋
                cc.SendMessage("FiDn" + "Me"); //发送信息
                CanDown    = true;
                ConnHandle = 2;
                break;
            }

            case 2:    //第2次及其以后单击,重新开始游戏
            {
                CanAgin      = true;
                WhoFisrtDown = false;
                dropchild    = true;
                CanDown      = true;
                Conqueror    = false;
                ChessClass.Client cc = Program.PublicClientObject;
                cc.SendMessage("FiDn" + "Me");        //发送信息,是否重新下棋
                if (Agin_if == false)
                {
                    cc.SendMessage("Agin#" + "OK?");
                    Agin();        //设置重新下棋的初始值
                }
                else
                {
                    Agin_if = false;
                    if (panel_Check.Controls.Count > 10)
                    {
                        Agin();
                    }
                }
                BBow = BBow + 1;
                pBox_Sign.Visible = false;        //使棋子的标识图片不可见
                Conqueror         = false;
                break;
            }
            }
            childSgin = true;
        }