using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Dress.svs;namespace Dress
{
    public partial class MainForm : FormBase
    {
        [MTAThread]
        static void Main()
        {
            Application.Run(new MainForm());
        }        public MainForm()
        {
            InitializeComponent();
        }        private void mnuExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }        private void mnuSettings_Click(object sender, EventArgs e)
        {
            this.ShowStatus("正在加载设置窗口");
            new SettingsForm().ShowDialog();
            this.HideStatus();
        }        private void mnuBuy_Click(object sender, EventArgs e)
        {
            StorageInfo[] storages = this.GetStorages();
            if (storages != null)
            {
                this.ShowStatus("正在加载进货窗口");
                Subs.BaseForm form=new Subs.BuyForm(storages);
                form.ShowDialog();
                if(form.HasSaved)
                    this.cboSelect_SelectedIndexChanged(null, null);
                this.HideStatus();
            }
        }        private void mnuSale_Click(object sender, EventArgs e)
        {
            StorageInfo[] storages = this.GetStorages();
            if (storages != null)
            {
                this.ShowStatus("正在加载销售窗口");
                Subs.BaseForm form = new Subs.SaleForm(storages);
                form.ShowDialog();
                if (form.HasSaved)
                    this.cboSelect_SelectedIndexChanged(null, null);
                this.HideStatus();
            }
        }        private StorageInfo[] GetStorages()
        {
            try
            {
                this.ShowStatus("正在连接服务器");
                StorageInfo[] storages = DressCache.Storages;
                this.HideStatus();
                return storages;
            }
            catch (Exception err)
            {
                this.HideStatus();
                this.ShowError(err);
                return null;
            }
        }        private void MainForm_Load(object sender, EventArgs e)
        {
            this.cboSelect.SelectedIndex = 0;
        }        private void cboSelect_SelectedIndexChanged(object sender, EventArgs e)
        {
            List<BizBillInfo> list = null;
            this.ShowStatus("正在加载使用信息");
            if (this.cboSelect.SelectedIndex == 0)
            {
                this.colBizer.Text = "供货商";
                list = DressCache.GetBuyRecords();
            }
            else
            {
                this.colBizer.Text = "销售商";
                list = DressCache.GetSaleRecords();
            }
            this.lvw.Items.Clear();
            foreach (BizBillInfo info in list)
            {
                ListViewItem itm = new ListViewItem(info.BillNo);
                itm.Tag = info;
                ListViewItem.ListViewSubItem sub = new ListViewItem.ListViewSubItem();
                sub.Text = info.BizerName;
                itm.SubItems.Add(sub);
                ListViewItem.ListViewSubItem sub1 = new ListViewItem.ListViewSubItem();
                sub1.Text = info.Amount.ToString();
                itm.SubItems.Add(sub1);
                ListViewItem.ListViewSubItem sub2 = new ListViewItem.ListViewSubItem();
                sub2.Text = "¥" + info.Money.ToString("0.00");
                itm.SubItems.Add(sub2);
                this.lvw.Items.Add(itm);
            }
            this.HideStatus();
        }        private void MainForm_Closing(object sender, CancelEventArgs e)
        {
            string message = "确实要退出" + this.Text;
            DialogResult dlg = this.ShowQuestion(message, MessageBoxButtons.YesNo);
            if (dlg == DialogResult.Yes)
            {
                this.ShowStatus("正在保存使用信息");
                DressConfig.Save();
                DressCache.Save();
                this.HideStatus();
                Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
        }
能简单的帮这里的难点介绍一下么

解决方案 »

  1.   

    using System;
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Text; 
    using System.Windows.Forms; 
    using Dress.svs; 
    //以上为引用的命名空间列表,最后一项为自定义的命名空间namespace Dress 

        public partial class MainForm : FormBase //继承自FormBase的窗体类
        { 
            [MTAThread] 
            static void Main() //main函数
            { 
                Application.Run(new MainForm()); //运行MainForm的一个实例
            }         public MainForm() 
            { 
                InitializeComponent(); //初始化MainForm窗体的资源,布局及设置
            }         private void mnuExit_Click(object sender, EventArgs e) //关闭事件
            { 
                this.Close(); //关闭当前窗口
            }         private void mnuSettings_Click(object sender, EventArgs e) 
            { 
                this.ShowStatus("正在加载设置窗口"); //调用自定义方法ShowStatus,应该是显示一个提示
                new SettingsForm().ShowDialog(); //显示SettingsForm窗体的实例
                this.HideStatus(); 
            }         private void mnuBuy_Click(object sender, EventArgs e) //某按钮的的click方法
            { 
                StorageInfo[] storages = this.GetStorages(); //获取StorageInfo数据集合
                if (storages != null) //验证StorageInfo[]是否为空
                { 
                    this.ShowStatus("正在加载进货窗口"); //提示正在加载进货窗口
                    Subs.BaseForm form=new Subs.BuyForm(storages); //实例化Subs.BuyForm
                    form.ShowDialog(); //显示Subs.BuyForm实例的模态窗口
                    if(form.HasSaved) //判断是否保存过
                        this.cboSelect_SelectedIndexChanged(null, null); //触发cboSelect的SelectedIndexChanged事件
                    this.HideStatus(); //隐藏状态提示
                } 
            }         private void mnuSale_Click(object sender, EventArgs e) //mnuSale的Click事件处理方法
            { 
                StorageInfo[] storages = this.GetStorages(); //获取StorageInfo实例
                if (storages != null) //验证StorageInfo不为空
                {
                    this.ShowStatus("正在加载销售窗口"); //提示正在加载销售窗口
                    Subs.BaseForm form = new Subs.SaleForm(storages); //实例化销售窗口实例
                    form.ShowDialog(); //以模态方式显示销售窗口
                    if (form.HasSaved) //如果有保存过
                        this.cboSelect_SelectedIndexChanged(null, null); //触发cboSelect的SelectedIndexChanged事件
                    this.HideStatus();  //隐藏状态提示
                } 
            }         private StorageInfo[] GetStorages() //自定义方法,返回StorageInfo数组(集合)
            { 
                try //开始try代码块
                { 
                    this.ShowStatus("正在连接服务器"); //提示正在连接服务器
                    StorageInfo[] storages = DressCache.Storages; //获取StorageInfo集合
                    this.HideStatus(); //隐藏状态提示
                    return storages; //返回StorageInfo集合
                } 
                catch (Exception err) //捕获异常代码块
                { 
                    this.HideStatus(); //捕获到异常后,隐藏状态提示
                    this.ShowError(err); //调用ShowError方法显示错误信息
                    return null; //返回null值
                } 
            }         private void MainForm_Load(object sender, EventArgs e) //MainForm的Load事件处理方法
            { 
                this.cboSelect.SelectedIndex = 0; //设置cboSelect的SelectedIndex为0
            }         private void cboSelect_SelectedIndexChanged(object sender, EventArgs e) 
            { 
                List <BizBillInfo> list = null; 
                this.ShowStatus("正在加载使用信息"); 
                if (this.cboSelect.SelectedIndex == 0) 
                { 
                    this.colBizer.Text = "供货商"; 
                    list = DressCache.GetBuyRecords(); 
                } 
                else 
                { 
                    this.colBizer.Text = "销售商"; 
                    list = DressCache.GetSaleRecords(); 
                } 
                this.lvw.Items.Clear(); 
                foreach (BizBillInfo info in list) 
                { 
                    ListViewItem itm = new ListViewItem(info.BillNo); //实例化ListViewItem
                    itm.Tag = info; //ListViewItem实例的Tag属性赋值为info
                    ListViewItem.ListViewSubItem sub = new ListViewItem.ListViewSubItem(); //ListViewItem实例添加子项
                    sub.Text = info.BizerName; //为上述ListViewItem实例添加的子项的Text赋值
                    itm.SubItems.Add(sub); //将上述子项添加到ListViewItem实例
                    ListViewItem.ListViewSubItem sub1 = new ListViewItem.ListViewSubItem(); //同上
                    sub1.Text = info.Amount.ToString(); 
                    itm.SubItems.Add(sub1); 
                    ListViewItem.ListViewSubItem sub2 = new ListViewItem.ListViewSubItem(); 
                    sub2.Text = "¥" + info.Money.ToString("0.00"); 
                    itm.SubItems.Add(sub2); 
                    this.lvw.Items.Add(itm); 
                } 
                this.HideStatus(); 
            }         private void MainForm_Closing(object sender, CancelEventArgs e) //当窗口即将关闭还未关闭时
            { 
                string message = "确实要退出" + this.Text; //退出提示的字符串
                DialogResult dlg = this.ShowQuestion(message, MessageBoxButtons.YesNo); //提示确实要退出
                if (dlg == DialogResult.Yes) //判断用户操作的结果
                { 
                    this.ShowStatus("正在保存使用信息"); //提示正在保存使用信息
                    DressConfig.Save(); //保存配置
                    DressCache.Save(); //保存缓存
                    this.HideStatus(); //隐藏状态显示
                    Application.Exit(); //退出应用程序
                } 
                else 
                { 
                    e.Cancel = true; //得到用户否认操作后,取消关闭窗口操作
                } 
            }