duheng
2024-08-26 0663632b0a4aa990a68fca7ea564c93d963c3eaf
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/04-dlg/02-GeneralProject/GenerateXhsProjectFileWizardPage.cs
@@ -17,6 +17,17 @@
        private bool _importResult = false;//导入结果
        private ImportXhsProjectFileViewModel _vm = null;//操作对象
        private class ListItemWithColor
        {
            public string Text { get; set; }
            public Color Color { get; set; }
            public override string ToString()
            {
                return null;
            }
        }
        /// <summary>
        ///
        /// </summary>
@@ -25,17 +36,22 @@
            _vm = vm;
            _isInitialize = false;
            _importResult = false;
            _importResult = await ImportXhsProjectFileHelper.Import(vm, (msg) =>
             {
                 this.listBoxControl1.Items.Add(msg);
             }, (max, current) =>
             {
                 this.progressBarControl1.Properties.Maximum = max;
                 this.progressBarControl1.Position = current;
                 //替代方案
                 // this.progressBarControl1.Properties.Step = current;
                 // this.progressBarControl1.PerformStep();
             });
            _importResult = await ImportXhsProjectFileHelper.Import(vm, (msg, color) =>
            {
                ListItemWithColor itemWithColor = new ListItemWithColor
                {
                    Text = msg,
                    Color = color
                };
                this.listBoxControl1.Items.Add(itemWithColor);
            }, (max, current) =>
            {
                this.progressBarControl1.Properties.Maximum = max;
                this.progressBarControl1.Position = current;
                //替代方案
                // this.progressBarControl1.Properties.Step = current;
                // this.progressBarControl1.PerformStep();
            });
            if (!_importResult)
            {
                this.progressBarControl1.Position = 0;
@@ -139,5 +155,24 @@
        {
            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);
            }
        }
    }
}