首页 > 代码库 > 第一次做c/s架构的c#程序,许多东西都一步步摸索,总结一些经验如下:给初学者一些福音

第一次做c/s架构的c#程序,许多东西都一步步摸索,总结一些经验如下:给初学者一些福音

1,首先是窗体之间的数据传递,以及关联窗体的控制?

父窗体里面new一个子窗体出来,把子窗体的构造函数设置为带参的,将父窗体的参数通过构造函数传递过去,如果关联窗体控制则直接将父窗体传递到子窗体中即可。

如下:

父窗体: FormMain frm = new FormMain(this);
            frm.Owner = this;
            frm.MdiParent = this.MdiParent;                           
            frm.WindowState = FormWindowState.Maximized;
            frm.Show();   

子窗体: public FormMain(FormLogin f1)
        {}          

这样子窗体就可以操作父窗体以及父窗体的内容了

注:传递变量时必须设置变量是全局变量

2,菜单控件toolStripMenu,菜单元素中间可以添加分隔符:

像这样:就可以做出像浏览器一样的菜单样式图片传不上去很抱歉。

3,下拉列表框combox控件,如何取出控件的中选中元素的值呢?

分为两种一个是你自己直接输入添加的值:comboBoxStatus.SelectedItem.ToString()

一种是从数据库取来直接绑定数据源上的数据:comboBoxStore.Text.ToString()

如何绑定数据库中的数据到控件上呢?

取出数据库数据装入DataTable

comboBoxStore.DataSource = dt;
comboBoxStore.DisplayMember = dt.Columns[0].ToString();

这样就完成了绑定可以将数据库中取出的数据显示在combox空间中了

4,定时刷新,操作,timer控件

将enable属性设置为true,time开始使用,interval是刷新时间,每隔多长时间执行一次,ms为单位。将执行的逻辑,操作放入timer时间里

5,数据库多表关联语句,查找订单,已下单的数据的订单以及订单详细,而一个订单号详细内容可能有很多,取出已下单的订单数据去重复:

sql语句:select distinct id ,[DingDanTime],[ZhuangTai],[UserID],地址,[FaPiao],
[ShouJianTel],[JinEr],[PayModel],[PayTime],[XingMing],积分 from
(select a.[ID] as id ,[DingDanTime],[ZhuangTai],[UserID],a.[Sheng]+a.[Shi]+a.[DiZhi] 地址,[FaPiao],
[ShouJianTel],[JinEr],[PayModel],[PayTime],[XingMing],a.[JiFen] 积分,c.MingCheng 名称,[Num],[Price]
from [W_DingDan] a join [W_DingDanProduct] b on a.ID=b.DingDanID left join [W_CaiPin_GouMai] c on c.ID =b.ProductID
where a.[ZhuangTai]=‘已下单‘) s;

6,点击dataGridView控件点鼠标右键可以选择操作(添加控件ContextMenuStrip)?

dataGridView的CellClick事件控制

dgvOrderDish.Rows[e.RowIndex].ContextMenuStrip = cmsStoreName;
dishOrderNo = dgvOrderDish.Rows[e.RowIndex].Cells["订单号"].Value.ToString();取出选中的单元格的值

点击控件的操作放在tsmiAssignStore_Click事件中ContextMenuStrip元素的click事件

7,tabControl控件

此控件的功能正在研究稍后再发

 

第一次做c/s架构的c#程序,许多东西都一步步摸索,总结一些经验如下:给初学者一些福音