精华内容
下载资源
问答
  • C#窗体程序

    千次阅读 2018-10-12 19:48:01
    C#窗体程序 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; ...

    C#窗体程序

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace _3
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                    label1.ForeColor = Color.Red;
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                label1.ForeColor = Color.Blue;
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                Close();
            }
        }
    }
    
    

    运行效果如下:
    在这里插入图片描述在这里插入图片描述

    展开全文
  • C#窗体程序读写源码

    2018-06-04 20:09:22
    C#窗体程序读写文件源码。 可以对文本文件进行读写操作,特别适合初学者的代码
  • 主要介绍了简单实现C#窗体程序判断是否闰年的相关代码,禁止窗体调整大小,关闭窗体前的判断,感兴趣的小伙伴们可以参考一下
  • 内容索引:C#源码,菜单窗体,渐变窗体 背景渐变可调节的C#窗体程序,注意输入的数据不要太大,否则程序会出错,一秀是在1-50之间,输入数字太小的话,效果不容易看到,输入接近50的数字比较合适,你会发现窗体背景...
  • C#窗体程序初学示例代码,适合初学者,高手可以忽略。
  • C#窗体程序界面库.zip

    2013-04-28 16:10:08
    C#窗体程序界面库.zip //C#窗体程序界面库.zip 包含使用说明
  • C#窗体程序编写简单五子棋

    万次阅读 多人点赞 2018-07-19 23:07:43
     简单C#窗体程序学习·······keep runing······  文章末尾处提供全面源码。 二、程序实现  C#窗体程序编写五子棋,可想而知,比Java会便捷很多,比较可以直接图形化拖拉界面。Java还需要安装插件...

    一、前言

            简单C#窗体程序学习·······keep runing······

            文章末尾处提供全面源码。

    二、程序实现

           C#窗体程序编写五子棋,可想而知,比Java会便捷很多,比较可以直接图形化拖拉界面。Java还需要安装插件才行。

    【1】简单五子棋嘛,一个棋盘界面就可以了,所以先拖一个窗体界面,大体如下图

    【2】拖控件:从控件里面拖出两个 panel 控件、三个 button 控件、一个 label控件

    【3】设属性:为两个 panel 控件 dock 属性分别 选择  FILL  和  右沾满(属性根据自己喜欢来设置)

    设置背景颜色,在右边的panel中设置,三个按钮分别命名为    开始、重来、退出(这个随便)

    一个 label 控件,用来表示游戏状态。

    【4】所用私有成员、初始化函数、窗体加载等等····

            //游戏是否开始
            private bool start;
            //下的是黑子还是白子
            private bool type = true;
            //棋盘大小
            private const int size = 15;
            //是否为空,空为0,不为空为1、2
            //private int[,] ChessCheck = new int[11, 11];
            private int[,] ChessCheck = new int[size, size];
    
            public Form1()
            {
                InitializeComponent();
            }
    
            //设置游戏窗体大小
            private void Form1_Load(object sender, EventArgs e)
            {
                start = false;
                button1.Enabled = true;
                button2.Enabled = false;
                this.Width = MainSize.Wid;
                this.Height = MainSize.Hei;
                this.Location = new Point(260, 75);//设置窗体起始位置
            }
    
    
            //初始化
            private void InitializeThis()
            {
                //棋盘存储数组 函数
                for (int i = 0; i < size; i++)
                    for (int j = 0; j < size; j++)
                        ChessCheck[i, j] = 0;
                start = false;//是否开始游戏
                this.panel1.Invalidate();//棋盘重新加载(画)
                type = true;//默认黑棋先下
            }

    【5】辅助类1——MainSize类(来说明棋盘、棋子、窗体的大小等)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 五子棋Forms
    {
        //以下是MainSize类
    
        class MainSize
        {
            //主框体大小
            public static int Wid { get { return 710; } }
            public static int Hei { get { return 640; } }
            //棋盘大小
            public static int CBWid { get { return 600; } }
            public static int CBHei { get { return 600; } }
            //棋盘宽度
            public static int CBGap { get { return 40; } }
            //棋子直径
            public static int ChessRadious
            {
                get { return 34; }
            }
        }
    }

    【6】辅助类2——ChessBoard类(就一个静态函数、画棋盘)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Windows.Forms;
    
    
    namespace 五子棋Forms
    {
        //以下是ChessBoard类
        class ChessBoard
        {
            public static void DrawCB(Graphics g)
            {
                int num = MainSize.CBWid / MainSize.CBGap - 1;
                int gap = MainSize.CBGap;
                g.Clear(Color.Gold);
                for (int i = 0; i < num + 1; i++)
                {
                    g.DrawLine(new Pen(Color.Black), 20, 20 + i * gap, 20 + num * gap, 20 + i * gap);
                    g.DrawLine(new Pen(Color.Black), 20 + gap * i, 20, 20 + i * gap, 20 + gap * num);
                }
            }
        }
    }

    【7】辅助类3——Chess类(两个静态函数,一个用来画鼠标点击处的棋子,一个当棋盘重画的时,把当前已经下在棋盘上的棋子也重新全部画出来——防止棋盘刷新,把棋子图像抹去)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Windows.Forms;
    
    namespace 五子棋Forms
    {
        //以下是Chess类
        class Chess
        {
            public static void DrawC(Panel p, bool type, MouseEventArgs e)
            {
                Graphics g = p.CreateGraphics();
                //确定棋子的中心位置
                int x1 = (e.X) / MainSize.CBGap;
                int x2 = x1 * MainSize.CBGap + 20 - 17;
                int y1 = (e.Y) / MainSize.CBGap;
                int y2 = y1 * MainSize.CBGap + 20 - 17;
                if (type)
                {
                    g.FillEllipse(new SolidBrush(Color.Black), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                }
                else
                {
                    g.FillEllipse(new SolidBrush(Color.White), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                }
            }
    
            //当界面被重新聚焦的时候,把棋盘上的棋子重新加载(画)出来
            public static void ReDrawC(Panel p, int[,] ChessCheck)
            {
                Graphics g = p.CreateGraphics();
                for (int i = 0; i < ChessCheck.GetLength(0); i++)
                    for (int j = 0; j < ChessCheck.GetLength(1); j++)
                    {
                        //MessageBox.Show("ReDrawC", "信息提示!", MessageBoxButtons.OK);
                        int type=ChessCheck[i, j] ;
                        if (type!= 0)
                        {
                            //确定棋子的中心位置
                            int x2 = i * MainSize.CBGap + 20 - 17;
                            int y2 = j * MainSize.CBGap + 20 - 17;
                            if (type==1)
                            {
                                g.FillEllipse(new SolidBrush(Color.Black), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                            }
                            else
                            {
                                g.FillEllipse(new SolidBrush(Color.White), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                            }
                        }
                    }
            }
        }
    }

    【8】两panel的Paint事件(画画监听事件,当图像需要重新“画”的时候执行)——分别画棋盘和操作界面

            //画棋盘
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = panel1.CreateGraphics();
                ChessBoard.DrawCB(g);//重新加载(画)棋盘
                Chess.ReDrawC(panel1, ChessCheck);//重新加载(画)棋子。
            }
    
            //设置游戏控制界面的大小
            private void panel2_Paint(object sender, PaintEventArgs e)
            {
                panel2.Size = new Size(MainSize.Wid - MainSize.CBWid-20, MainSize.Hei);
            }

    【9】三个按钮监听事件的实现(开始游戏,重置游戏,退出游戏)

            //按开始键后的结果
            private void button1_Click(object sender, EventArgs e)
            {
                label1.Text = "游戏开始";
                start = true;
                button1.Enabled = false;
                button2.Enabled = true;
            }
    
            //按重置后的结果
            private void button2_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("确定要重新开始?", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    label1.Text = "游戏未开始";
                    start = false;
                    button1.Enabled = true;
                    button2.Enabled = false;
                    InitializeThis();
                }
            }
    
            //退出程序
            private void button3_Click(object sender, EventArgs e)
            {
                this.Dispose();
                this.Close();
            }

    【10】当鼠标点击的时候加载棋子(根据鼠标点击位置——画单个棋子)

            //根据鼠标点击的位置画棋子
            private void panel1_MouseDown(object sender, MouseEventArgs e)
            {
                //把棋盘分为【15,15】的数组
    
                if (start)
                {
                    int x1 = (e.X) / MainSize.CBGap;
    
                    int y1 = (e.Y) / MainSize.CBGap;
    
                    try
                    {
                        //判断此位置是否为空
                        if (ChessCheck[x1, y1] != 0)
                        {
                            return;//已经有棋子占领这个位置了
                        }
    
                    //下黑子还是白子
    
                    if (type)
                    {
                        ChessCheck[x1, y1] = 1;
                    }
                    else
                    {
                        ChessCheck[x1, y1] = 2;
                    }
    
                    //画棋子
    
                    Chess.DrawC(panel1, type, e);
    
                    //换颜色
    
                    type = !type;
    
                    }
                    catch (Exception)
                    {
                        //防止因鼠标点击边界,而导致数组越界,进而运行中断。
                    }
    
                    //判断是否胜利
    
                    if (IsFull(ChessCheck) && !BlackVictory(ChessCheck) && !WhiteVictory(ChessCheck))
                    {
                        MessageBox.Show("平局");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                    if (BlackVictory(ChessCheck))
                    {
                        MessageBox.Show("黑方胜利(Black Win)");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                    if (WhiteVictory(ChessCheck))
                    {
                        MessageBox.Show("白方胜利(White Win)");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                }
                else
                {
                    MessageBox.Show("请先开始游戏!", "提示信息!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

    【11】判断棋盘是否下满的函数

            //是否满格
            public bool IsFull(int[,] ChessCheck)
            {
                bool full = true;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i, j] == 0)
                            return full = false;
                    }
                }
                return full;
            }

    【12】判断黑棋是否胜利的函数

            //是否黑子胜利
            public bool BlackVictory( int[,] ChessBack)
            {
                bool Win = false;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i,j]!=0)
                        {
                            //纵向判断
                            if (j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i, j + 1] == 1 && ChessCheck[i, j + 2] == 1 && ChessCheck[i, j + 3] == 1 && ChessCheck[i, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //横向判断
                            if (i<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i + 4, j] == 1 && ChessCheck[i + 1, j] == 1 && ChessCheck[i + 2, j] == 1 && ChessCheck[i + 3, j] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //斜向右下判断
                            if (i<11&&j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i + 1, j + 1] == 1 && ChessCheck[i + 2, j + 2] == 1 && ChessCheck[i + 3, j + 3] == 1 && ChessCheck[i + 4, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //斜向左下判断
                            if (i>=4&&j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i - 1, j + 1] == 1 && ChessCheck[i - 2, j + 2] == 1 && ChessCheck[i - 3, j + 3] == 1 && ChessCheck[i - 4, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                        }
                    }
                }
                return Win;
            }

    【13】判断白棋是否胜利的函数——代码类似上面

            //是否白子赢,代码同上
            public bool WhiteVictory( int[,] ChessBack)
            {
                bool Win = false;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i, j] != 0)
                        {
                            if (j <11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i, j + 1] == 2 && ChessCheck[i, j + 2] == 2 && ChessCheck[i, j + 3] == 2 && ChessCheck[i, j + 4] == 2)
                                {
                                    return Win = true;
                                }
                            }
                            if(i<11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i + 4, j] == 2 && ChessCheck[i + 1, j] == 2 && ChessCheck[i + 2, j] == 2 && ChessCheck[i + 3, j] == 2)
                                {
                                    return Win = true;
                                }
                            }
                            if (i<11&&j<11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i + 1, j + 1] == 2 && ChessCheck[i + 2, j + 2] == 2 && ChessCheck[i + 3, j + 3] == 2 && ChessCheck[i + 4, j + 4] == 2)
                                {
                                    return Win = true;
                                }
                               
                               
                            }
                            if(i>=4&&j<11)
                            if (ChessCheck[i, j] == 2 && ChessCheck[i - 1, j + 1] == 2 && ChessCheck[i - 2, j + 2] == 2 && ChessCheck[i - 3, j +3] == 2 && ChessCheck[i - 4, j +4] == 2)
                            {
                                return Win = true;
                            }
                        }
                    }
                }
                return Win;
            }

    三、实验环境

    四、运行效果

    五、源码——代码只是辅助学习,望不要照贴代码运行交作业喔!

    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;
    
    
    namespace 五子棋Forms
    {
        //以下是MainSize类
    
        class MainSize
        {
            /*
            //主框体大小
            public static int Wid { get { return 550; } }
            public static int Hei { get { return 500; } }
            //棋盘大小
            public static int CBWid { get { return 440; } }
            public static int CBHei { get { return 440; } }
            //棋盘宽度
            public static int CBGap { get { return 40; } }
            //棋子直径
            public static int ChessRadious
            {
                get { return 34; }
            }
            */
            //主框体大小
            public static int Wid { get { return 710; } }
            public static int Hei { get { return 640; } }
            //棋盘大小
            public static int CBWid { get { return 600; } }
            public static int CBHei { get { return 600; } }
            //棋盘宽度
            public static int CBGap { get { return 40; } }
            //棋子直径
            public static int ChessRadious
            {
                get { return 34; }
            }
        }
    }
    
    namespace 五子棋Forms
    {
        //以下是ChessBoard类
        class ChessBoard
        {
            public static void DrawCB(Graphics g)
            {
                int num = MainSize.CBWid / MainSize.CBGap - 1;
                int gap = MainSize.CBGap;
                g.Clear(Color.Gold);
                for (int i = 0; i < num + 1; i++)
                {
                    g.DrawLine(new Pen(Color.Black), 20, 20 + i * gap, 20 + num * gap, 20 + i * gap);
                    g.DrawLine(new Pen(Color.Black), 20 + gap * i, 20, 20 + i * gap, 20 + gap * num);
                }
            }
        }
    }
    
    namespace 五子棋Forms
    {
        //以下是Chess类
        class Chess
        {
            public static void DrawC(Panel p, bool type, MouseEventArgs e)
            {
                Graphics g = p.CreateGraphics();
                //确定棋子的中心位置
                int x1 = (e.X) / MainSize.CBGap;
                int x2 = x1 * MainSize.CBGap + 20 - 17;
                int y1 = (e.Y) / MainSize.CBGap;
                int y2 = y1 * MainSize.CBGap + 20 - 17;
                if (type)
                {
                    g.FillEllipse(new SolidBrush(Color.Black), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                }
                else
                {
                    g.FillEllipse(new SolidBrush(Color.White), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                }
            }
    
            //当界面被重新聚焦的时候,把棋盘上的棋子重新加载(画)出来
            public static void ReDrawC(Panel p, int[,] ChessCheck)
            {
                Graphics g = p.CreateGraphics();
                for (int i = 0; i < ChessCheck.GetLength(0); i++)
                    for (int j = 0; j < ChessCheck.GetLength(1); j++)
                    {
                        //MessageBox.Show("ReDrawC", "信息提示!", MessageBoxButtons.OK);
                        int type=ChessCheck[i, j] ;
                        if (type!= 0)
                        {
                            //确定棋子的中心位置
                            int x2 = i * MainSize.CBGap + 20 - 17;
                            int y2 = j * MainSize.CBGap + 20 - 17;
                            if (type==1)
                            {
                                g.FillEllipse(new SolidBrush(Color.Black), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                            }
                            else
                            {
                                g.FillEllipse(new SolidBrush(Color.White), x2, y2, MainSize.ChessRadious, MainSize.ChessRadious);
                            }
                        }
                    }
            }
        }
    }
    
    namespace 五子棋Forms
    {
        public partial class Form1 : Form
        {
            //游戏是否开始
            private bool start;
            //下的是黑子还是白子
            private bool type = true;
            //棋盘大小
            private const int size = 15;
            //是否为空,空为0,不为空为1、2
            //private int[,] ChessCheck = new int[11, 11];
            private int[,] ChessCheck = new int[size, size];
    
            public Form1()
            {
                InitializeComponent();
            }
    
            //设置游戏窗体大小
            private void Form1_Load(object sender, EventArgs e)
            {
                start = false;
                button1.Enabled = true;
                button2.Enabled = false;
                this.Width = MainSize.Wid;
                this.Height = MainSize.Hei;
                this.Location = new Point(260, 75);
            }
    
    
            //初始化
            private void InitializeThis()
            {
                for (int i = 0; i < size; i++)
                    for (int j = 0; j < size; j++)
                        ChessCheck[i, j] = 0;
                start = false;
                this.panel1.Invalidate();
                type = true;
            }
    
            //画棋盘
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = panel1.CreateGraphics();
                ChessBoard.DrawCB(g);//重新加载(画)棋盘
                Chess.ReDrawC(panel1, ChessCheck);//重新加载(画)棋子。
            }
    
            //设置游戏控制界面的大小
            private void panel2_Paint(object sender, PaintEventArgs e)
            {
                panel2.Size = new Size(MainSize.Wid - MainSize.CBWid-20, MainSize.Hei);
            }
            
            //按开始键后的结果
            private void button1_Click(object sender, EventArgs e)
            {
                label1.Text = "游戏开始";
                start = true;
                button1.Enabled = false;
                button2.Enabled = true;
            }
    
            //按重置后的结果
            private void button2_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("确定要重新开始?", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    label1.Text = "游戏未开始";
                    start = false;
                    button1.Enabled = true;
                    button2.Enabled = false;
                    InitializeThis();
                }
            }
    
            //退出程序
            private void button3_Click(object sender, EventArgs e)
            {
                this.Dispose();
                this.Close();
            }
    
            //根据鼠标点击的位置画棋子
            private void panel1_MouseDown(object sender, MouseEventArgs e)
            {
                //把棋盘分为【15,15】的数组
    
                if (start)
                {
                    int x1 = (e.X) / MainSize.CBGap;
    
                    int y1 = (e.Y) / MainSize.CBGap;
    
                    try
                    {
                        //判断此位置是否为空
                        if (ChessCheck[x1, y1] != 0)
                        {
                            return;//已经有棋子占领这个位置了
                        }
    
                    //下黑子还是白子
    
                    if (type)
                    {
                        ChessCheck[x1, y1] = 1;
                    }
                    else
                    {
                        ChessCheck[x1, y1] = 2;
                    }
    
                    //画棋子
    
                    Chess.DrawC(panel1, type, e);
    
                    //换颜色
    
                    type = !type;
    
                    }
                    catch (Exception)
                    {
                        //防止因鼠标点击边界,而导致数组越界,进而运行中断。
                    }
    
                    //判断是否胜利
    
                    if (IsFull(ChessCheck) && !BlackVictory(ChessCheck) && !WhiteVictory(ChessCheck))
                    {
                        MessageBox.Show("平局");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                    if (BlackVictory(ChessCheck))
                    {
                        MessageBox.Show("黑方胜利(Black Win)");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                    if (WhiteVictory(ChessCheck))
                    {
                        MessageBox.Show("白方胜利(White Win)");
                        InitializeThis();
                        label1.Text = "游戏尚未开始!";
                    }
                }
                else
                {
                    MessageBox.Show("请先开始游戏!", "提示信息!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
    
            //是否满格
            public bool IsFull(int[,] ChessCheck)
            {
                bool full = true;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i, j] == 0)
                            return full = false;
                    }
                }
                return full;
            }
    
            //是否黑子胜利
            public bool BlackVictory( int[,] ChessBack)
            {
                bool Win = false;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i,j]!=0)
                        {
                            //纵向判断
                            if (j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i, j + 1] == 1 && ChessCheck[i, j + 2] == 1 && ChessCheck[i, j + 3] == 1 && ChessCheck[i, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //横向判断
                            if (i<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i + 4, j] == 1 && ChessCheck[i + 1, j] == 1 && ChessCheck[i + 2, j] == 1 && ChessCheck[i + 3, j] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //斜向右下判断
                            if (i<11&&j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i + 1, j + 1] == 1 && ChessCheck[i + 2, j + 2] == 1 && ChessCheck[i + 3, j + 3] == 1 && ChessCheck[i + 4, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                            //斜向左下判断
                            if (i>=4&&j<11)
                            {
                                if (ChessCheck[i, j] == 1 && ChessCheck[i - 1, j + 1] == 1 && ChessCheck[i - 2, j + 2] == 1 && ChessCheck[i - 3, j + 3] == 1 && ChessCheck[i - 4, j + 4] == 1)
                                {
                                    return Win = true;
                                }
                            }
                        }
                    }
                }
                return Win;
            }
    
            //是否白子赢,代码同上
            public bool WhiteVictory( int[,] ChessBack)
            {
                bool Win = false;
                for (int i = 0; i < size; i++)
                {
                    for (int j = 0; j < size; j++)
                    {
                        if (ChessCheck[i, j] != 0)
                        {
                            if (j <11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i, j + 1] == 2 && ChessCheck[i, j + 2] == 2 && ChessCheck[i, j + 3] == 2 && ChessCheck[i, j + 4] == 2)
                                {
                                    return Win = true;
                                }
                            }
                            if(i<11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i + 4, j] == 2 && ChessCheck[i + 1, j] == 2 && ChessCheck[i + 2, j] == 2 && ChessCheck[i + 3, j] == 2)
                                {
                                    return Win = true;
                                }
                            }
                            if (i<11&&j<11)
                            {
                                if (ChessCheck[i, j] == 2 && ChessCheck[i + 1, j + 1] == 2 && ChessCheck[i + 2, j + 2] == 2 && ChessCheck[i + 3, j + 3] == 2 && ChessCheck[i + 4, j + 4] == 2)
                                {
                                    return Win = true;
                                }
                               
                               
                            }
                            if(i>=4&&j<11)
                            if (ChessCheck[i, j] == 2 && ChessCheck[i - 1, j + 1] == 2 && ChessCheck[i - 2, j + 2] == 2 && ChessCheck[i - 3, j +3] == 2 && ChessCheck[i - 4, j +4] == 2)
                            {
                                return Win = true;
                            }
                        }
                    }
                }
                return Win;
            }
    
        }
    }

    六、说明——代码改自:https://blog.csdn.net/qq_41007523/article/details/80813180

    qq_41007523大神的博客

    此博主代码有些小问题,所以我改进了下。呸,瞎改了下。

    七、实验感想

    我好菜啊!!!

    展开全文
  • C#窗体程序实现计算器功能,实现基本的加减乘除运算。
  • 写了一个C#窗体程序,发布之后直接在服务器桌面运行。运行时,程序总会不定时自动关闭。有大神知道怎么回事吗</p>
  • C#窗体程序皮肤

    2008-07-29 04:22:18
    C#窗体程序皮肤 可以用我用过了
  • C#窗体程序实时曲线及绘制坐标轴

    热门讨论 2011-07-06 11:57:57
    C#窗体程序实时曲线及绘制坐标轴,C#窗体程序实时曲线及绘制坐标轴
  • C#窗体程序实现网页地图,输入google网址加载地图,串口获取GPS信号
  • C#窗体程序—计算器(能实现四则混合运算)-附件资源
  • C#窗体程序画虚线

    2019-01-03 00:58:31
    使用VS软件,c#编写窗体程序,用鼠标画虚线。鼠标左键单击,依次记录相应的坐标点,实现对虚线的绘制,右键结束对本条线的绘制。
  • 基于C#窗体程序制做,带登录系统的本地双人对战五子棋,每人落子时间为20S,固定黑棋先行。
  • c#写的窗体计算器,想学窗体设计的可以下载来看看,谢谢大家
  • 求帮忙做销售员业绩数据库系统C#窗体程序,其中包括销售员业绩记录、销售员联络记录、销售员服务记录、销售员催款记录、销售员投诉记录,表明表、视图、索引、主码、外码以及关系模式和联系 需要连接上数据库SQL ...
  • 一、背景说明: 很多外设通信需要串口,通过C#开发串口通信程序非常方便,但是将C#...然而,将JSP或HTML加载到C#窗体程序很方便,而且JS和C#通信很简单。 二、C#和JS之间的相互调用 1.新建项目 2.添加控件 ...

    一、背景说明:

    很多外设通信需要串口,通过C#开发串口通信程序非常方便,但是将C#数据引入浏览器非常繁琐,而且开发Activex只有IE能够完美兼容。B/S模式开发的系统移动性好的同时,操作外设困难。
    然而,将JSP或HTML加载到C#窗体程序很方便,而且JS和C#通信很简单。

    二、C#和JS之间的相互调用

    1.新建项目
    在这里插入图片描述在这里插入图片描述2.添加控件

    在这里插入图片描述
    3.最终效果如图
    在这里插入图片描述

    三、程序源码

    新建一个txt文件,将扩展名改成html,然后将下面HTML源码复制进去,用浏览器打开,将地址复制下来,写到 webBrowser1.Url = new Uri(URL)里

    • C#窗体部分
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WebBrowser
    {
        //设置Com对外可访问
        [System.Runtime.InteropServices.ComVisible(true)]
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                // 将当前类设置为可由脚本访问
                webBrowser1.ObjectForScripting = this;
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //可以从TextBox里获取Url
                webBrowser1.Url = new Uri("file:///C:/Users/Administrator/Desktop/ConnectC.html");
    
            }
            private void button1_Click(object sender, EventArgs e)
            {
                SendMessage();
            }
            #region**Connect JS**
            //被外部js调用的方法
            public void MyMessageBox(string message)
            {
                textBox1.Text = message;
            }
    
            private void SendMessage()
            {
                // 调用JavaScript的messageBox方法,并传入参数
                object[] objects = new object[1];
                
                objects[0] = textBox2.Text;
                webBrowser1.Document.InvokeScript("GetMessage", objects);
            }
            #endregion
        }
    }
    
    
    • html页面部分
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'ConnectC#.jsp' starting page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<style type="text/css">
    	
    	</style>
    	<script language="javascript" type="text/javascript">
    		/* 调用C#方法 */
    		function SendMessage(){
    			window.external.MyMessageBox(document.getElementById("send").value);
    		}
    		
            <!-- 提供给C#程序调用的方法,接收返回值 -->
            function GetMessage(message)
            {
    			//alert(message);
    			document.getElementById("arrive").value = message;
    		}
            
        </script>
      </head>
      
      <body>
        
        <input type="button" value="发送数据" onclick="SendMessage();" style="width:200px;height:30px;"/>
        <br><br>
        <h2>要发送的数据</h2><input style="width:200px;height:30px;" id="send"/>
    	<h2>接收到的数据</h2><input style="width:200px;height:30px;" id="arrive"/>
        
      </body>
    </html>
    
    
    展开全文
  • MD5加密算法,用C#窗体实现。规避了System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile进行加密。
  • C#窗体程序写计算器

    2018-12-29 11:05:13
    这是用C#编写计算器部分代码,有一些无法上传,有问题私聊。
  • C#窗体程序ATM.zip

    2020-06-22 01:01:48
    适合初学者理解C#中的TXT文件读写,标有注释。博客有相关对应解释,非常适合初学者理解C#在基础的读写。
  • C#窗体程序怎样自动以管理员身份启动 选中"安全性",在界面中勾选"启用ClickOnce安全设置"后,在Properties下就有自动生成app.manifest文件。 打开app.manifest文件,将 <requestedExecutionLevellevel...

        

    C#窗体程序怎样自动以管理员身份启动

     

    选中"安全性",在界面中勾选"启用ClickOnce安全设置"后,在Properties下就有自动生成app.manifest文件。

     

            打开app.manifest文件,将

     

         <requestedExecutionLevellevel="asInvoker"uiAccess="false" />改为

     

    <requestedExecutionLevellevel="requireAdministrator"uiAccess="false" />

    展开全文
  • 纯手工打造C#窗体程序,CSC编译后只有6KB ,参透C#的运行机制。使用CSC program.cs编程,生成的程序只有6KB。
  • 利用C#语言开发的窗体程序Personal Message
  • 本资源包含C#窗体程序连接oracle数据库的完整项目、注释、报告是学习与研究的好材料,具体如下: 1、超市管理系统从需求分析到构建数据库 2、oracle数据库部分包含建用户、建表、建序列、建触发器、建包头(对每个表...
  • 新手,不知道怎么把c#窗体程序做备份。使用vs2010。 要求是:有第一版,不对其做修改。然后复制第一版即为第二版,我对第二版做改动,然后再做取舍。之后再根据第二版复制第三版,这么做的原因是确实不好改,总是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,068
精华内容 3,627
关键字:

c#窗体程序

c# 订阅