using LB_SmartVision.Forms.Pages.ProcessPage; using LB_SmartVision.ProcessRun; using LB_VisionControl; using LB_VisionProcesses; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System.Collections.Concurrent; using System.Data; using System.Text; using VisionControl.Forms; using LB_SmartVision.Forms.Pages.SettingPage; using LB_SmartVisionCommon; using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel; using LB_SmartVision.Forms.Pages.CameraPage; using System.Security.Principal; using System.Windows.Forms; namespace LB_SmartVision.Forms.Pages.UserManagementPage { public partial class UserManagementEditPage : UserControl { public Action LogInfo; RunSettingPage RunSettingPage = new RunSettingPage(); LayoutPage LayoutPage = new LayoutPage(); CsvPage CsvPage = new CsvPage(); public UserManagementEditPage() { Name = "UserManagementEditPage"; Text = "用户管理设置"; InitializeComponent(); InitializeDataGridView(); InitializeComboBox(); } private void InitializeDataGridView() { // 设置DataGridView列宽 dataGridViewUM.ColumnCount = 5; int totalWidth = dataGridViewUM.ClientSize.Width; int columnCount = dataGridViewUM.ColumnCount; int columnWidth = totalWidth / columnCount; // 设置最小宽度 int minWidth = 100; // 最小宽度 if (columnWidth < minWidth) { columnWidth = minWidth; } for (int i = 0; i < columnCount; i++) { dataGridViewUM.Columns[i].Width = columnWidth; } // 设置列标题 dataGridViewUM.Columns[0].Name = "用户名"; dataGridViewUM.Columns[1].Name = "密码"; dataGridViewUM.Columns[2].Name = "姓名"; dataGridViewUM.Columns[3].Name = "工号"; dataGridViewUM.Columns[4].Name = "权限"; dataGridViewUM.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; // 禁止编辑单元格(可选) dataGridViewUM.ReadOnly = true; // 允许多行选择(可选) dataGridViewUM.MultiSelect = false; // 显示行标题(可选) dataGridViewUM.RowHeadersVisible = true; } private void InitializeComboBox() { // 添加权限选项 comboBoxPermission.Items.Add("管理员"); comboBoxPermission.Items.Add("操作员"); // 设置默认选择项 comboBoxPermission.SelectedIndex = 1; } private void ClearInputFields() { textBoxUsername.Clear(); textBoxPassword.Clear(); textBoxName.Clear(); textBoxEmployeeID.Clear(); comboBoxPermission.SelectedIndex = 1; textBoxUsername.Focus(); // 将焦点设置回用户名输入框 } private void btnAdd_Click(object sender, EventArgs e) { // 验证输入 if (string.IsNullOrWhiteSpace(textBoxUsername.Text) || string.IsNullOrWhiteSpace(textBoxPassword.Text) || string.IsNullOrWhiteSpace(textBoxName.Text) || string.IsNullOrWhiteSpace(textBoxEmployeeID.Text)) { MessageBox.Show("请填写所有必填字段!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // 创建新行数据 string[] row = new string[] { textBoxUsername.Text, textBoxPassword.Text, // 实际应用中密码应该加密 textBoxName.Text, textBoxEmployeeID.Text, comboBoxPermission.SelectedItem.ToString() }; // 设置整个DataGridView的默认字体和颜色 dataGridViewUM.DefaultCellStyle.Font = new Font("宋体", 12); dataGridViewUM.DefaultCellStyle.ForeColor = Color.Black; // 字体颜色 dataGridViewUM.DefaultCellStyle.BackColor = Color.White; // 背景颜色 // 添加新行到DataGridView dataGridViewUM.Rows.Add(row); // 清空输入框 ClearInputFields(); } private void btnDel_Click(object sender, EventArgs e) { if (dataGridViewUM.SelectedRows.Count > 0) { // 确认删除 DialogResult result = MessageBox.Show("确定要删除选中的行吗?", "确认删除", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { foreach (DataGridViewRow row in dataGridViewUM.SelectedRows) { dataGridViewUM.Rows.Remove(row); } } } else { MessageBox.Show("请先选择要删除的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }