快速入门C#的实例

最近需要使用C#和javascript进行虚拟平台的搭建与学习,故索性将其学习,只能说快速入门,后期的提高需要结合项目来补充
首先介绍一下什么是虚拟现实平台,简单来说,就是通过在网页来模拟某项操作,例如计算机硬件拆卸实验或编码操作实验等等。下图是我校内部虚拟实验平台,里面有众多的实验库。
下面的所有关于C#基础知识不再赘述,例如循环结构、面向对象设计均不再叙述,有兴趣可以看我前面java教程,(相信你一定可以的嗷!)这里就直接开始应用实例了。
你的三连就是我更新的最大动力。
附下面所有代码链接,后期还有很多工作以此为例,例如架构数据库建立后端数据等。
(百度网盘)链接:链接
提取码:el1j


而我目前的工作也就是搭建这样的平台,需要用到Unity 2020,Csharp,Node.js,MySQL 等知识。所以这里以后将进行学习。
Csharp是一门面向对象的编程语言,它与 Java 非常相似(此次java笔记),有许多强大的编程功能,因此得到广大程序员的青睐。
时间有限,这里详细的内容就不在赘述,这里直接附代码进行说明。

目录

  • 基本程序结构
  • Windows应用程序
    • 第一个简易程序
    • 具有输入功能的Win32程序
  • 关于程序的一些说明
  • 一些应用实例
    • 简单的文本编辑器
    • 用户登录
    • 添加个人收支明细
    • 关于我们界面
    • 添加收支项目
    • SDI和MDI应用程序

基本程序结构

别的不说,看框架就好。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
     
    class Program
    {
     
        static void Main(string[] args)
        {
     
            Console.WriteLine("Hello World");
        }
    }
}

多的语法结构啊,面向对象等知识不再重复(详见java版块,语法几乎一致),这里直接开始窗体应用程序。

Windows应用程序

第一个简易程序

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 HelloWorld
{
     
    public partial class Form1 : Form
    {
     
        public Form1()
        {
     
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
     
            //设置本窗体的标题文字
            this.Text = "第一个Windows程序";
            //创建标签控件,设置属性
            Label lblshow = new Label();
            lblshow.Location = new Point(50, 60);
            lblshow.AutoSize = true;
            lblshow.Text = "Hello world";
            this.Controls.Add(lblshow);
        }
    }
}

运行效果图
快速入门C#的实例_第1张图片

具有输入功能的Win32程序

private void label1_Click(object sender, EventArgs e)
        {
     
            //定义字符串常量
            string strResult;
            //提取在文本框中的文字
            strResult = textBox1.Text + ",你好欢迎使用本程序!";
            //显示结果
            label2.Text = strResult;
        }

关于程序的一些说明

using System表示引入System命名空间中的类。System命名空间是.NET最基本的命名空间,包含了最基本的类和声明。如果不使用System命名空间,源代码将无法编译。
C#是完全面向对象的语言,必须要放到类中,一个程序至少包含一个类。

一些应用实例

简单的文本编辑器

主要方法代码

	private void btnFont_Click(object sender, EventArgs e)
        {
     
            fontDialog1.Font = richTextBox1.Font;
            if (fontDialog1.ShowDialog() == DialogResult.OK)
            {
     
                richTextBox1.Font = fontDialog1.Font;
            }
        }

        private void btnColor_Click(object sender, EventArgs e)
        {
     
            colorDialog1.Color = richTextBox1.ForeColor;
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
     
                richTextBox1.ForeColor = colorDialog1.Color;
            }
        }

简单编辑器示意图
快速入门C#的实例_第2张图片

用户登录

主要方法

		private void btnLogin_Click(object sender, EventArgs e)
        {
     
            string userName = txtName.Text;
            string password = txtPwd.Text;
            if (userName == "admin" && password == "123")
            {
     
                MessageBox.Show("欢迎进入个人理财系统!", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
     
                MessageBox.Show("您输入的用户名或密码错误!", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
     
            txtName.Text = "";
            txtPwd.Text = "";
            txtName.Focus();
        }

运行结果图
快速入门C#的实例_第3张图片

添加个人收支明细

主要方法

 private void rdoExpenditure_CheckedChanged(object sender, EventArgs e)
        {
     
            cboCategory.Items.Clear();//清除组合框所有项
            if (rdoExpenditure.Checked == true)
            {
     
                cboCategory.Items.Add("生活消费");
                cboCategory.Items.Add("固定资产");
                cboCategory.Items.Add("休闲娱乐");
                cboCategory.Items.Add("医疗药品");
                cboCategory.Items.Add("教育培训");
                cboCategory.Items.Add("其他支出");
            }
            else
            {
     
                cboCategory.Items.Add("工作收入");
                cboCategory.Items.Add("投资收益");
                cboCategory.Items.Add("其他收入");
            }
            cboCategory.SelectedIndex = 0;
        }

        private void cboCategory_SelectedIndexChanged(object sender, EventArgs e)
        {
     
            lstItem.Items.Clear();
            switch (cboCategory.SelectedItem.ToString())
            {
     
                case "生活消费":
                    lstItem.Items.Add("餐饮");
                    lstItem.Items.Add("生活用品");
                    break;
                case "固定资产":
                    lstItem.Items.Add("服装");
                    lstItem.Items.Add("家用电器");
                    break;
                case "休闲娱乐":
                    lstItem.Items.Add("旅游");
                    break;
                case "医疗药品":
                    lstItem.Items.Add("药品");
                    break;
                case "教育培训":
                    lstItem.Items.Add("学费");
                    break;
                case "工作收入":
                    lstItem.Items.Add("工资");
                    break;
                case "投资收益":
                    lstItem.Items.Add("利息");
                    break;
            }
            cboCategory.SelectedIndex = 0;
        }

btnSave保存在文本框中,后续会写入到数据库中

private void btnSave_Click(object sender, EventArgs e)
        {
     
            rtxtRemarks.Clear();
            rtxtRemarks.AppendText("要保存的信息为:\n");
            rtxtRemarks.AppendText(cboCategory.SelectedItem.ToString());
            rtxtRemarks.AppendText("-");
            rtxtRemarks.AppendText(lstItem.SelectedItem.ToString());
            rtxtRemarks.AppendText("\n日期");
            rtxtRemarks.AppendText(dtpDate.Value.ToLongDateString());
            rtxtRemarks.AppendText("\n说明");
            rtxtRemarks.AppendText(txtExplain.Text);
            rtxtRemarks.AppendText("\n收支人");
            if (chkOwn.Checked) rtxtRemarks.AppendText(chkOwn.Text);
            if (chkFamily.Checked) rtxtRemarks.AppendText("、"+chkFamily.Text);
            if (chkFriend.Checked) rtxtRemarks.AppendText("、" + chkFriend.Text);
            if (chkColleague.Checked) rtxtRemarks.AppendText("、" + chkColleague.Text);
            if (chkRelative.Checked) rtxtRemarks.AppendText("、" + chkRelative.Text);
            if (chkOther.Checked) rtxtRemarks.AppendText("、" + chkOther.Text);
            rtxtRemarks.AppendText("\n金额");
            rtxtRemarks.AppendText(numAmount.Value.ToString());
        }

运行结果示意图
快速入门C#的实例_第4张图片

关于我们界面

主要方法代码

private void btnYes_Click(object sender, EventArgs e)
        {
     
            this.Close();
        }

快速入门C#的实例_第5张图片

添加收支项目

主要方法代码:

private void rdoExpenditure_CheckedChanged(object sender, EventArgs e)
        {
     
            cboCategory.Items.Clear();
            cboCategory.Items.Add("一级大类");
            if (rdoExpenditure.Checked == true)
            {
     
                cboCategory.Items.Add("生活消费");
                cboCategory.Items.Add("固定资产");
                cboCategory.Items.Add("休闲娱乐");
                cboCategory.Items.Add("医疗药品");
                cboCategory.Items.Add("教育培训");
                cboCategory.Items.Add("其他收入");
            }
            else
            {
     
                cboCategory.Items.Add("工作收入");
                cboCategory.Items.Add("投资收益");
                cboCategory.Items.Add("其他收入");
            }
            cboCategory.SelectedIndex = 0;
        }

        private void btnPreview_Click(object sender, EventArgs e)
        {
     
            if (txtName.Text.Trim() == string.Empty)
            {
     
                MessageBox.Show("请填写收支项目名称!", "信息不完整", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else tabControl1.SelectedTab = tabPage2;
        }

        private void cboCategory_SelectedIndexChanged(object sender, EventArgs e)
        {
     
            if (tabControl1.SelectedIndex == 1)
            {
     
                if (txtName.Text.Trim() == string.Empty)
                {
     
                    MessageBox.Show("请填写收支项目名称!", "信息不完整", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);MessageBox.Show("请填写收支项目名称!", "信息不完整", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
     
                    rtxtMsg.Clear();
                    rtxtMsg.AppendText("要添加的收支项目为:");
                    rtxtMsg.AppendText(txtName.Text);
                    rtxtMsg.AppendText("\n所属类别:" + cboCategory.SelectedItem.ToString());
                    if (rdoExpenditure.Checked == true) rtxtMsg.AppendText("\n是支出类型的项目");
                    else rtxtMsg.AppendText("\n是收入类型的项目");
                }
            }
        }

运行结果示意图
快速入门C#的实例_第6张图片

SDI和MDI应用程序

附主要方法代码


        private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)
        {
     
            Application.Exit();
        }

        private void MainFrm_Load(object sender, EventArgs e)
        {
     

        }

        private void 添加收支项目IToolStripMenuItem_Click(object sender, EventArgs e)
        {
     
            AddItems AddItemsFrm = new AddItems();
            AddItemsFrm.MdiParent = this;
            AddItemsFrm.Show();
        }

        private void tsmAddExp_Click(object sender, EventArgs e)
        {
     
            AddExpenditure AddExpFrm = new AddExpenditure();
            AddExpFrm.MdiParent = this;
            AddExpFrm.Show();
        }

        private void tsmAbout_Click(object sender, EventArgs e)
        {
     
            AboutForm aboutForm = new AboutForm();
            aboutForm.MdiParent = this;
            aboutForm.Show();
        }

        private void tsmStatistics_Click(object sender, EventArgs e)
        {
     

        }

        private void tsmUser_Click(object sender, EventArgs e)
        {
     
            Login loginForm = new Login();
            loginForm.MdiParent = this;
            loginForm.Show();
        }

和前面的进行结合,做成了以下的运行结果
快速入门C#的实例_第7张图片
快速入门C#的实例_第8张图片
快速入门C#的实例_第9张图片
至此关于C#的语法已告一段落,UI界面设计已完成,后面就是后端的事啦,赶紧得补一补数据库的知识了(流泪ing)。

你可能感兴趣的:(计算机语言自学笔记,c#)