C3032
2026-01-05 004f03913569122866d089a1696ed65c0f4cbcaf
LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
@@ -1,30 +1,153 @@
using LB_VisionControl;
using OpenCvSharp.Flann;
using System;
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;
using System.Xml.Linq;
namespace LB_SmartVision.Forms.Pages.UserManagementPage
{
    public partial class UserManagementEditPage : UserControl
    {
        public Action<string, LogInfoType> LogInfo;
        RunSettingPage RunSettingPage = new RunSettingPage();
        LayoutPage LayoutPage = new LayoutPage();
        CsvPage CsvPage = new CsvPage();
        public UserManagementEditPage()
        {
            InitializeComponent();
            Name = "UserManagementEditPage";
            Name = "UserManagementEditPage";
            Text = "用户管理设置";
            InitializeComponent();
            InitializeDataGridView();
            InitializeComboBox();
        }
        private void MESEditPage_Paint(object sender, PaintEventArgs e)
        private void InitializeDataGridView()
        {
            uiFlowLayoutPanel1.Controls.Clear();
            // 设置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);
            }
        }
    }
}