首页 > 代码库 > 第一次做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#程序,许多东西都一步步摸索,总结一些经验如下:给初学者一些福音