MainFrm.cs
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:14k
源码类别:

企业管理

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. namespace 进销存管理系统
  8. {
  9. /// <summary>
  10. /// Form1 的摘要说明。
  11. /// </summary>
  12. public class MainFrm : System.Windows.Forms.Form
  13. {
  14. private DataSet ds = new DataSet();
  15. private LinkDataBase link = new LinkDataBase();
  16. private string sendTableName = "权限清单";
  17. private string sendStrSQL;
  18. private System.Windows.Forms.MainMenu mainMenu1;
  19. private System.Windows.Forms.MenuItem menuItem1;
  20. private System.Windows.Forms.MenuItem menuItem2;
  21. private System.Windows.Forms.MenuItem menuItem3;
  22. private System.Windows.Forms.MenuItem menuItem4;
  23. private System.Windows.Forms.MenuItem menuItem5;
  24. private System.Windows.Forms.MenuItem mnu_WareDataManage;
  25. private System.Windows.Forms.MenuItem mnu_StokerDataManage;
  26. private System.Windows.Forms.MenuItem mnu_ClientDataManage;
  27. private System.Windows.Forms.MenuItem mnu_StockTable;
  28. private System.Windows.Forms.MenuItem mnu_StorageSearch;
  29. private System.Windows.Forms.MenuItem mnu_PopedomManage;
  30. private System.Windows.Forms.MenuItem mnu_SellTable;
  31. private System.Windows.Forms.StatusBar statusBar1;
  32. private System.Windows.Forms.StatusBarPanel statusBarPanel1;
  33. private System.Windows.Forms.StatusBarPanel statusBarPanel2;
  34. private System.Windows.Forms.MenuItem menuItemQuit;
  35. /// <summary>
  36. /// 必需的设计器变量。
  37. /// </summary>
  38. private System.ComponentModel.Container components = null;
  39. public MainFrm()
  40. {
  41. //
  42. // Windows 窗体设计器支持所必需的
  43. //
  44. InitializeComponent();
  45. //
  46. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  47. //
  48. }
  49. /// <summary>
  50. /// 清理所有正在使用的资源。
  51. /// </summary>
  52. protected override void Dispose( bool disposing )
  53. {
  54. if( disposing )
  55. {
  56. if (components != null) 
  57. {
  58. components.Dispose();
  59. }
  60. }
  61. base.Dispose( disposing );
  62. }
  63. #region Windows 窗体设计器生成的代码
  64. /// <summary>
  65. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  66. /// 此方法的内容。
  67. /// </summary>
  68. private void InitializeComponent()
  69. {
  70. this.mainMenu1 = new System.Windows.Forms.MainMenu();
  71. this.menuItem1 = new System.Windows.Forms.MenuItem();
  72. this.mnu_WareDataManage = new System.Windows.Forms.MenuItem();
  73. this.mnu_StokerDataManage = new System.Windows.Forms.MenuItem();
  74. this.mnu_ClientDataManage = new System.Windows.Forms.MenuItem();
  75. this.menuItem2 = new System.Windows.Forms.MenuItem();
  76. this.mnu_StockTable = new System.Windows.Forms.MenuItem();
  77. this.menuItem3 = new System.Windows.Forms.MenuItem();
  78. this.mnu_SellTable = new System.Windows.Forms.MenuItem();
  79. this.menuItem4 = new System.Windows.Forms.MenuItem();
  80. this.mnu_StorageSearch = new System.Windows.Forms.MenuItem();
  81. this.menuItem5 = new System.Windows.Forms.MenuItem();
  82. this.mnu_PopedomManage = new System.Windows.Forms.MenuItem();
  83. this.menuItemQuit = new System.Windows.Forms.MenuItem();
  84. this.statusBar1 = new System.Windows.Forms.StatusBar();
  85. this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
  86. this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel();
  87. ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();
  88. ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit();
  89. this.SuspendLayout();
  90. // 
  91. // mainMenu1
  92. // 
  93. this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  94.   this.menuItem1,
  95.   this.menuItem2,
  96.   this.menuItem3,
  97.   this.menuItem4,
  98.   this.menuItem5,
  99.   this.menuItemQuit});
  100. // 
  101. // menuItem1
  102. // 
  103. this.menuItem1.Index = 0;
  104. this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  105.   this.mnu_WareDataManage,
  106.   this.mnu_StokerDataManage,
  107.   this.mnu_ClientDataManage});
  108. this.menuItem1.Text = "资料管理";
  109. // 
  110. // mnu_WareDataManage
  111. // 
  112. this.mnu_WareDataManage.Enabled = false;
  113. this.mnu_WareDataManage.Index = 0;
  114. this.mnu_WareDataManage.Text = "商品信息维护";
  115. this.mnu_WareDataManage.Click += new System.EventHandler(this.mnu_WareDataManage_Click);
  116. // 
  117. // mnu_StokerDataManage
  118. // 
  119. this.mnu_StokerDataManage.Enabled = false;
  120. this.mnu_StokerDataManage.Index = 1;
  121. this.mnu_StokerDataManage.Text = "供货商信息维护";
  122. this.mnu_StokerDataManage.Click += new System.EventHandler(this.mnu_StokerDataManage_Click);
  123. // 
  124. // mnu_ClientDataManage
  125. // 
  126. this.mnu_ClientDataManage.Enabled = false;
  127. this.mnu_ClientDataManage.Index = 2;
  128. this.mnu_ClientDataManage.Text = "客户信息维护";
  129. this.mnu_ClientDataManage.Click += new System.EventHandler(this.mnu_ClientDataManage_Click);
  130. // 
  131. // menuItem2
  132. // 
  133. this.menuItem2.Index = 1;
  134. this.menuItem2.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  135.   this.mnu_StockTable});
  136. this.menuItem2.Text = "进货管理";
  137. // 
  138. // mnu_StockTable
  139. // 
  140. this.mnu_StockTable.Enabled = false;
  141. this.mnu_StockTable.Index = 0;
  142. this.mnu_StockTable.Text = "进货单";
  143. this.mnu_StockTable.Click += new System.EventHandler(this.mnu_StockTable_Click);
  144. // 
  145. // menuItem3
  146. // 
  147. this.menuItem3.Index = 2;
  148. this.menuItem3.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  149.   this.mnu_SellTable});
  150. this.menuItem3.Text = "销售管理";
  151. // 
  152. // mnu_SellTable
  153. // 
  154. this.mnu_SellTable.Enabled = false;
  155. this.mnu_SellTable.Index = 0;
  156. this.mnu_SellTable.Text = "销售单";
  157. this.mnu_SellTable.Click += new System.EventHandler(this.mnu_SellTable_Click);
  158. // 
  159. // menuItem4
  160. // 
  161. this.menuItem4.Index = 3;
  162. this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  163.   this.mnu_StorageSearch});
  164. this.menuItem4.Text = "库存管理";
  165. // 
  166. // mnu_StorageSearch
  167. // 
  168. this.mnu_StorageSearch.Enabled = false;
  169. this.mnu_StorageSearch.Index = 0;
  170. this.mnu_StorageSearch.Text = "库存查询";
  171. this.mnu_StorageSearch.Click += new System.EventHandler(this.mnu_StorageSearch_Click);
  172. // 
  173. // menuItem5
  174. // 
  175. this.menuItem5.Index = 4;
  176. this.menuItem5.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  177.   this.mnu_PopedomManage});
  178. this.menuItem5.Text = "系统管理";
  179. // 
  180. // mnu_PopedomManage
  181. // 
  182. this.mnu_PopedomManage.Enabled = false;
  183. this.mnu_PopedomManage.Index = 0;
  184. this.mnu_PopedomManage.Text = "权限管理";
  185. this.mnu_PopedomManage.Click += new System.EventHandler(this.mnu_PopedomManage_Click);
  186. // 
  187. // menuItemQuit
  188. // 
  189. this.menuItemQuit.Index = 5;
  190. this.menuItemQuit.Text = "退出系统";
  191. this.menuItemQuit.Click += new System.EventHandler(this.menuItemQuit_Click);
  192. // 
  193. // statusBar1
  194. // 
  195. this.statusBar1.Location = new System.Drawing.Point(0, 551);
  196. this.statusBar1.Name = "statusBar1";
  197. this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
  198.   this.statusBarPanel1,
  199.   this.statusBarPanel2});
  200. this.statusBar1.ShowPanels = true;
  201. this.statusBar1.Size = new System.Drawing.Size(792, 22);
  202. this.statusBar1.TabIndex = 1;
  203. // 
  204. // statusBarPanel1
  205. // 
  206. this.statusBarPanel1.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
  207. this.statusBarPanel1.MinWidth = 200;
  208. this.statusBarPanel1.Text = "《数据库开发经典案例解析》  清华大学出版社";
  209. this.statusBarPanel1.Width = 300;
  210. // 
  211. // statusBarPanel2
  212. // 
  213. this.statusBarPanel2.MinWidth = 200;
  214. this.statusBarPanel2.Width = 300;
  215. // 
  216. // MainFrm
  217. // 
  218. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  219. this.ClientSize = new System.Drawing.Size(792, 573);
  220. this.Controls.Add(this.statusBar1);
  221. this.IsMdiContainer = true;
  222. this.Menu = this.mainMenu1;
  223. this.Name = "MainFrm";
  224. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  225. this.Text = "【进销存管理系统】";
  226. this.Load += new System.EventHandler(this.MainFrm_Load);
  227. ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();
  228. ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).EndInit();
  229. this.ResumeLayout(false);
  230. }
  231. #endregion
  232. /// <summary>
  233. /// 应用程序的主入口点。
  234. /// </summary>
  235. [STAThread]
  236. static void Main() 
  237. {
  238. //整个程序启动时先显示登录框,登录成功再显示主界面
  239. LoginFrm login = new LoginFrm();
  240. login.ShowDialog();
  241. if (LoginFrm.blCanLogin==true)
  242. {
  243. Application.Run(new MainFrm());
  244. }
  245. }
  246. //------------创建窗体时,通过登录用户的名称和权限,设置可以访问的功能--------------
  247. private void MainFrm_Load(object sender, System.EventArgs e)
  248. {
  249. this.statusBarPanel2.Text = "    当前用户: " + LoginFrm.strUser +"    所属部门: " + LoginFrm.strDepartment;
  250. //通过用户编号查询权限清单控制主窗体菜单使能状态
  251. this.sendStrSQL = "SELECT 权限名称 from 权限清单 where 用户编号 = '" + LoginFrm.strUser +"'";
  252. this.ds = this.link.SelectDataBase(sendStrSQL,sendTableName);
  253. //系统管理用户为特殊权限用户,他始终拥有所有权利
  254. if ( LoginFrm.strDepartment == "系统管理")
  255. {
  256. this.mnu_WareDataManage.Enabled = true;
  257. this.mnu_StokerDataManage.Enabled = true;
  258. this.mnu_ClientDataManage.Enabled = true;
  259. this.mnu_StockTable.Enabled = true;
  260. this.mnu_SellTable.Enabled = true;
  261. this.mnu_StorageSearch.Enabled = true;
  262. this.mnu_PopedomManage.Enabled = true;
  263. }
  264. else
  265. {
  266. //根据从数据库中检索到的用户的权限来设置其有权使用的菜单
  267. for (int intCounter=0;intCounter<this.ds.Tables[0].Rows.Count;intCounter++)
  268. {
  269. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "商品资料维护")
  270. {
  271. this.mnu_WareDataManage.Enabled = true; continue;
  272. }
  273. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "供货商资料维护")
  274. {
  275. this.mnu_StokerDataManage.Enabled = true; continue;
  276. }
  277. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "客户资料维护")
  278. {
  279. this.mnu_ClientDataManage.Enabled = true; continue;
  280. }
  281. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "进货单")
  282. {
  283. this.mnu_StockTable.Enabled = true; continue;
  284. }
  285. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "销售单")
  286. {
  287. this.mnu_SellTable.Enabled = true; continue;
  288. }
  289. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "库存查询")
  290. {
  291. this.mnu_StorageSearch.Enabled = true; continue;
  292. }
  293. if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "权限管理")
  294. {
  295. this.mnu_PopedomManage.Enabled = true; continue;
  296. }
  297. }
  298. }
  299. }
  300. //-----------------查询一个子窗体是否存在----------------
  301. private bool checkChildFrmExist(string childFrmName)
  302. {
  303. foreach(Form childFrm in this.MdiChildren)
  304. {
  305. //用子窗体的Name进行判断,如果已经存在则将他激活
  306. if(childFrm.Name == childFrmName)
  307. {
  308. if(childFrm.WindowState == FormWindowState.Minimized)
  309. childFrm.WindowState = FormWindowState.Normal;
  310. childFrm.Activate();
  311. return true;
  312. }
  313. }
  314. return false;
  315. }
  316. //-----------显示商品信息维护窗口----------
  317. private void mnu_WareDataManage_Click(object sender, System.EventArgs e)
  318. {
  319. if (this.checkChildFrmExist("WareDataManage") == true)
  320. {
  321. return;
  322. }
  323. // 如果该窗体不存在则新生成一个商品信息维护窗体
  324. WareDataManage newFrm = new WareDataManage(true);
  325. newFrm.MdiParent = this;
  326. newFrm.Show();
  327. }
  328. //-----------显示供货商信息维护窗口----------
  329. private void mnu_StokerDataManage_Click(object sender, System.EventArgs e)
  330. {
  331. if (this.checkChildFrmExist("StokerDataManage") == true)
  332. {
  333. return;
  334. }
  335. // 如果该窗体不存在则新生成一个供货商信息维护维护窗体
  336. StokerDataManage newFrm = new StokerDataManage(true);
  337. newFrm.MdiParent = this;
  338. newFrm.Show();
  339. }
  340. //-----------显示客户信息维护窗口----------
  341. private void mnu_ClientDataManage_Click(object sender, System.EventArgs e)
  342. {
  343. if (this.checkChildFrmExist("ClientDataManage") == true)
  344. {
  345. return;
  346. }
  347. // 如果该窗体不存在则新生成一个客户信息维护窗体
  348. ClientDataManage newFrm = new ClientDataManage(true);
  349. newFrm.MdiParent = this;
  350. newFrm.Show();
  351. }
  352. //-----------显示进货单窗口----------
  353. private void mnu_StockTable_Click(object sender, System.EventArgs e)
  354. {
  355. if (this.checkChildFrmExist("StockTable") == true)
  356. {
  357. return;
  358. }
  359. // 如果该窗体不存在则新生成一个进货单窗体
  360. StockTable newFrm = new StockTable();
  361. newFrm.MdiParent = this;
  362. newFrm.Show();
  363. }
  364. //-----------显示销售单窗口----------
  365. private void mnu_SellTable_Click(object sender, System.EventArgs e)
  366. {
  367. if (this.checkChildFrmExist("SellTable") == true)
  368. {
  369. return;
  370. }
  371. // 如果该窗体不存在则新生成一个销售单窗体
  372. SellTable newFrm = new SellTable();
  373. newFrm.MdiParent = this;
  374. newFrm.Show();
  375. }
  376. //-----------显示库存查询窗口----------
  377. private void mnu_StorageSearch_Click(object sender, System.EventArgs e)
  378. {
  379. if (this.checkChildFrmExist("StorageSearch") == true)
  380. {
  381. return;
  382. }
  383. // 如果该窗体不存在则新生成一个库存查询窗体
  384. StorageSearch newFrm = new StorageSearch();
  385. newFrm.MdiParent = this;
  386. newFrm.Show();
  387. }
  388. //-----------显示权限管理窗口----------
  389. private void mnu_PopedomManage_Click(object sender, System.EventArgs e)
  390. {
  391. if (this.checkChildFrmExist("PopedomManage") == true)
  392. {
  393. return;
  394. }
  395. // 如果该窗体不存在则新生成一个权限管理窗体
  396. PopedomManage newFrm = new PopedomManage();
  397. newFrm.MdiParent = this;
  398. newFrm.Show();
  399. }
  400. //-----------退出窗体,先询问用户是否退出-------------
  401. private void menuItemQuit_Click(object sender, System.EventArgs e)
  402. {
  403. if (MessageBox.Show("确实要退出系统吗?","询问",MessageBoxButtons.YesNo) == DialogResult.Yes)
  404. {
  405. this.Close();
  406. }
  407. }
  408. }
  409. }