• C#编写图书列表winform


    Book.cs文件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    
    namespace Booklist
    {
        public class Book
        {
            /// <summary>
            /// 作者
            /// </summary>
            public string Author
            {
                get;
                set;
            }
    
            /// <summary>
            /// ISBN
            /// </summary>
            public string Isbn
            {
                get;
                set;
            }
    
            /// <summary>
            /// 书名
            /// </summary>
            public string Name
            {
                get;
                set;
            }
    
            /// <summary>
            /// 价格
            /// </summary>
            public double Price
            {
                get;
                set;
            }
    
            /// <summary>
            /// 重载构造函数
            /// </summary>
            public Book()
            {
    
            }
    
            /// <summary>
            /// 带参数的构造函数
            /// </summary>
            /// <param name="n">名称</param>
            /// <param name="s">ISDN</param>
            /// <param name="p">价格</param>
            /// <param name="a">作者</param>
            public Book(string n, string s, double p, string a)
            {
                Name = n;
                Isbn = s;
                Price = p;
                Author = a;
            }
        }
    
        public class Store
        {
            private ArrayList booklist;
    
            /// <summary>
            /// 图书列表
            /// </summary>
            public Store()
            {
                booklist = new ArrayList();
            }
    
            /// <summary>
            /// 获取图书列表
            /// </summary>
            public ArrayList Booklist
            {
                get 
                {
                    return booklist;
                }
                set 
                {
                    booklist = value;
                }
            }
            
    
            /// <summary>
            /// 从仓库中获取指定书名的书籍
            /// </summary>
            /// <param name="name">名称</param>
            /// <returns>书的信息</returns>
            public Book GetBook(string name)
            {
                Book book = new Book();
                foreach(Book b in booklist)
                {
                    if (b.Name == name)
                    {
                        book = b;
                    }
                }
    
                return book;
            }
    
            /// <summary>
            /// 判断指定书名的书籍是否存在
            /// </summary>
            /// <param name="n">书名</param>
            /// <returns>存在返回true</returns>
            public bool Exists(string n)
            {
                bool s = false;
                foreach (Book b in booklist)
                {
                    if (b.Name == n)
                    {
                        s = true;
                    }
                }
                return s;
            }
    
            /// <summary>
            /// 从列表中增加一个图书
            /// </summary>
            /// <param name="b">书的对象</param>
            /// <returns>列表</returns>
            public ArrayList AddBook(Book b)
            {
                booklist.Add(b);
                return booklist;
            }
    
            /// <summary>
            /// 移除指定名称的图书
            /// </summary>
            /// <param name="b">要移除的图书名称</param>
            /// <returns>处理的结果</returns>
            public ArrayList Remove(Book b)
            {
                if (booklist.Contains(b))
                    booklist.Remove(b);
                return booklist;
            }
    
            /// <summary>
            /// 移除指定书名的图书
            /// </summary>
            /// <param name="n">书名</param>
            /// <returns>处理后的结果</returns>
            public ArrayList Remove(string n)
            {
                ArrayList temp = (ArrayList)booklist.Clone();
    
                foreach (Book b in temp)
                {
                    if (b.Name == n)
                    {
                        booklist.Remove(b);
                    }
                }
                return booklist;
            }
            
          
        }
    }

    form1.cs

    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 Booklist
    {
        public partial class Form1 : Form
        {
            Store st;       //声明一个仓库的全局变量,作为数据存储的变量
            public Form1()
            {
                InitializeComponent();
    
                Book b = new Book("神秘藏宝室开发板套件基础版","1122-334",134d,"小白");
                Book b1 = new Book("神秘藏宝室开发板套件提高版", "1122-335", 134d, "小白");
                Book b2 = new Book("神秘藏宝室开发板套件至尊版", "1122-336", 134d, "小白");
    
                st = new Store();
    
                st.AddBook(b);
                st.AddBook(b1);
                st.AddBook(b2);
    
                Bind();
            }
    
            /// <summary>
            /// 填充数据
            /// </summary>
            private void Bind()
            {
                cb_list.Items.Clear();          //清空下拉列表
                cb_list.Text = "请选择一本书";    //显示一个默认值
                foreach(Book b in st.Booklist)
                {
                    cb_list.Items.Add(b.Name);
                }
                lb_output.Text = "当前仓库中共计" + st.Booklist.Count.ToString() + "本书";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //出库
                if (st.Exists(cb_list.Text))
                {
                    st.Remove(cb_list.Text);
                    cb_list.Text = "删除成功";
                    tb_name.Text = "";
                    tb_isdn.Text = "";
                    tb_price.Text = "";
                    tb_author.Text = "";
                }
    
                Bind(); //重新填充数据
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                if (st.Exists(cb_list.Text))
                {
                    Book b = st.GetBook(cb_list.Text);
                    lb_output.Text = string.Format("书名:{0},
    作者:{1},
    价格:{2},
    ISBN:{3}", b.Name, b.Author, b.Price, b.Isbn); 
                }
                else
                {
                    lb_output.Text = "不存在的书籍";
                }
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                if (tb_name.Text != "" && tb_author.Text != "" && tb_price.Text != "" && tb_isdn.Text != "")
                {
                    Book b = new Book(
                        tb_name.Text, 
                        tb_isdn.Text, 
                        double.Parse(tb_price.Text), 
                        tb_author.Text
                        );
                    st.AddBook(b);
                    Bind();
                }
            }
    
            private void cb_list_SelectedIndexChanged(object sender, EventArgs e)
            {
                Book b = st.GetBook(cb_list.Text);
                tb_name.Text = b.Name;
                tb_isdn.Text = b.Isbn;
                tb_price.Text = b.Price.ToString();
                tb_author.Text = b.Author;
            }
        }
    }

    winform界面

    1

    最终运行界面:

    1

  • 相关阅读:
    mock 数据模拟
    利用css绘制三角形,半圆等形状
    页面底部固定
    Form Data格式传参
    element 页面显示效果及需要注意的点
    vue 组件加载顺序
    vue-router 导航钩子
    vue 总结
    前端开发的碎碎念
    值匹配的方式
  • 原文地址:https://www.cnblogs.com/Mysterious/p/3411083.html
Copyright © 2020-2023  润新知