duheng
2024-09-23 651d1f87d2e0e26021c20f3667e1db7b1349b478
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs
@@ -12,22 +12,38 @@
        /// 状态改变事件
        /// </summary>
        public event Action PageStateChangedEvent;
        private bool _isInitialize = false;//是否初始化
        private bool _importResult = false;//导入结果
        private ImportXhsProjectViewModel _vm = null;//操作对象
        private class ListItemWithColor
        {
            public string Text { get; set; }
            public Color Color { get; set; }
            public override string ToString()
            {
                return null;
            }
        }
        /// <summary>
        ///
        ///
        /// </summary>
        public async void InitialPage(ImportXhsProjectViewModel vm)
        {
            _vm = vm;
            _isInitialize = false;
            _importResult = false;
            _importResult = await ImportXhsProjectHelper.Import(vm, (msg) =>
            _importResult = await ImportXhsProjectHelper.Import(vm, (msg, color) =>
             {
                 this.listBoxControl1.Items.Add(msg);
                 ListItemWithColor itemWithColor = new ListItemWithColor
                 {
                     Text = msg,
                     Color = color
                 };
                 this.listBoxControl1.Items.Add(itemWithColor);
             }, (max, current) =>
             {
                 this.progressBarControl1.Properties.Maximum = max;
@@ -140,10 +156,23 @@
            return false;
        }
        private void listBoxControl1_DrawItem(object sender, DevExpress.XtraEditors.ListBoxDrawItemEventArgs e)
        {
            // 获取当前项目的索引
            int index = e.Index;
            // 检查是否是有效的项目索引
            if (index >= 0)
            {
                // 获取当前项目
                ListItemWithColor item = (ListItemWithColor)listBoxControl1.Items[index];
                // 设置字体和颜色
                Font font = new Font("Arial", 15);
                Brush brush = new SolidBrush(item.Color);
                // 绘制文本
                e.Graphics.DrawString(item.Text, font, brush, e.Bounds);
            }
        }
    }
}
}