private void IniLstModel(bool all) { pnlLeft.Controls.Clear(); List <ModelManageArgment> models = new List <ModelManageArgment>(); string[] edits = new string[] { "Application.slm", "IApplication.slm", "Service.slm", "IService.slm" }; models.AddRange(manger.GetModelList("slm")); if (all) { models.AddRange(manger.GetModelList("sem")); } if (models.Count == 0) { return; } int index = 0; foreach (ModelManageArgment item in models) { if (!edits.Contains(item.Text) && !all) { continue; } Label lbl = new Label(); lbl.TextAlign = ContentAlignment.MiddleRight; lbl.Padding = new System.Windows.Forms.Padding(5); lbl.MouseHover += lbl_MouseHover; lbl.MouseLeave += lbl_MouseLeave; lbl.Click += lbl_Click; lbl.Text = item.Text; lbl.AutoSize = all; lbl.Height = 30; lbl.Width = 160; lbl.Location = new Point(10, index * lbl.Height); lbl.Tag = item; lbl.ForeColor = Color.Gray; lbl.Name = item.Text + index; this.pnlLeft.Controls.Add(lbl); if (index == 0) { lbl.BackColor = Color.FromArgb(19, 130, 206); lbl.ForeColor = Color.White; item.isSelected = true; lbl.Tag = item; lock (_oldText) { _oldText = manger.GetModelContent(item.Value); rcBoxContect.Text = _oldText; SetRichColor(); } _cunrrentModel = item; } index++; } }
private void lbl_MouseHover(object sender, EventArgs e) { Label lbl = (Label)sender; ModelManageArgment obj = lbl.Tag as ModelManageArgment; if (obj.isSelected == false) { lbl.BackColor = Color.White; lbl.ForeColor = Color.FromArgb(19, 130, 206); } }
private void lbl_MouseLeave(object sender, EventArgs e) { Label lbl = (Label)sender; ModelManageArgment obj = lbl.Tag as ModelManageArgment; if (obj.isSelected == false) { lbl.BackColor = Control.DefaultBackColor; lbl.ForeColor = Color.Gray; } }
private void SetUnSelect() { foreach (Control ctrl in pnlLeft.Controls) { ModelManageArgment obj = ctrl.Tag as ModelManageArgment; if (null != obj && obj.isSelected) { ctrl.BackColor = Control.DefaultBackColor; ctrl.ForeColor = Color.Gray; obj.isSelected = false; ctrl.Tag = obj; } } }
private void lbl_Click(object sender, EventArgs e) { Label lbl = (Label)sender; ModelManageArgment obj = lbl.Tag as ModelManageArgment; if (_isModified) { DialogResult dialog = MessageBox.Show("当前模型已经修改,是否保存?", "Entity2Code", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk); if (dialog == DialogResult.Cancel) { return; } else if (dialog == DialogResult.Yes) { FileOprateHelp.SaveFile(rcBoxContect.Text, _cunrrentModel.Value); //保存 } else { //继续 } } SetUnSelect(); lbl.BackColor = Color.FromArgb(19, 130, 206); lbl.ForeColor = Color.White; obj.isSelected = true; lbl.Tag = obj; _cunrrentModel = obj; _isLocked = false; _oldText = manger.GetModelContent(obj.Value); rcBoxContect.Text = _oldText; SetRichColor(); string[] strs = new string[] { "Application", "IApplication", "Service", "IService", "Map" }; bool enable = strs.Contains(System.IO.Path.GetFileNameWithoutExtension(_cunrrentModel.Text)); rcBoxContect.ReadOnly = !enable; btnSave.Enabled = enable; btnwriteProject.Enabled = enable; _isLocked = true; }