### 2025-01-14 星期二更新

----
#### SuperDesign    V3.0.2501.1401
#### 项目功能
- *.[新增]生成列表Html日志支持分组显示。
- *.[新增]更新日志新增支持显示距离最近一次更新的用时。
- *.[改进]优化双击更新日志时的日志展示。
- *.[改进]右键插入更新日志时,支持识别分组并插入。
- *.[修复]修复更新日志如果包含####,生成的MD日志格式不正确的BUG。
#### 网页抓取工具
- *.[新增]新增提交时间显示。
This commit is contained in:
紫林软件 2025-01-14 16:21:07 +08:00
parent 2b0b38dd14
commit 9d3c5a384f
13 changed files with 262 additions and 71 deletions

View File

@ -1,7 +1,24 @@
### 2025-01-13 星期一更新
------
### 2025-01-14 星期二更新
----
#### SuperDesign V3.0.2501.1401
#### 项目功能
- *.[新增]生成列表Html日志支持分组显示。
- *.[新增]更新日志新增支持显示距离最近一次更新的用时。
- *.[改进]优化双击更新日志时的日志展示。
- *.[改进]右键插入更新日志时,支持识别分组并插入。
- *.[修复]修复更新日志如果包含####,生成的MD日志格式不正确的BUG。
#### 网页抓取工具
- *.[新增]新增提交时间显示。
### 2025-01-13 星期一更新
----
#### SuperDesign V3.0.2501.1302
- *.#### 项目功能
#### 项目功能
- *.[新增]更新日志新增支持记录每一行的新增时间。
- *.[新增]生成Html日志新增支持####标签转为h4标签。
- *.[新增]更新日志新增支持记录分组功能。
@ -27,12 +44,18 @@
- *.[改进]复制文件到其它站点同位置功能支持复制文件夹。
#### SuperDesign V3.0.2501.0801
#### SuperDesign V3.0.2501.0801
- *.[新增]支持直接设置主项目的功能。
- *.[新增]新增支持设置在发布日志时是否更新版本号的功能。
- *.[新增]更新日志右键菜单支持快速添加日志前缀。
- *.[改进]更新日志保存时如果冲突,则显示数据库和本地日志内容进行对比。
- *.[修复]修复更新日志输入框粘贴文本会携带颜色的字体的BUG。
- *.[修复]修复打开Git时无法粘贴更新日志的BUG。
### 2024-12-21 星期六更新
@ -88,11 +111,15 @@
#### RySmartEditor V3.0.2402.2201
- *.[修复]修复文件查找功能,双击找到的内容,定位内容时可能被滚动条遮挡的问题。
- *.[修复]修复文件查找功能,已找到列表高亮显示不正确的BUG。
- *.[修复]点开查找功能,有时不能搜索当前目录的BUG。
- *.[修复]修复查找文件时使用内置的文件类型不能搜索的BUG。
#### SuperDesign V3.0.2402.2201
- *.[新增]全新的Json编辑器,支持在网页抓取工具中编辑Json的值。
### 2023-02-21更新
@ -113,6 +140,7 @@
- *.[改进]使用新款高亮编辑器。
### 2021-09-03更新
------
#### SuperDesign V2.0.2109.0301
@ -198,6 +226,7 @@
#### SuperDesign V2.0.2012.1001
- *.[新增]新增变量设置。
- *.[新增]Publish.set的copy方法支持变量。
### 2020-12-09更新

View File

@ -67,7 +67,7 @@ namespace 开发辅助工具
break;
default:
frm.BringToFront();
//Focus();
Focus();
break;
}
}

View File

@ -15,11 +15,11 @@ namespace SuperDesign.Manager
public static string GetMdLogText(JArray jarr, DateTime dt)
{
string log_text = "### " + DateTime.Now.ToString("yyyy-MM-dd dddd") + "更新";
log_text += "\r\n------";
log_text += "\r\n----";
for (int i = 0; i < jarr.Count; i++)
{
var item = jarr[i];
log_text += "\r\n#### " + item.GetJsonValue("ProjectName", "") + " V" + item.GetJsonValue("VerStr", "");
log_text += "\r\n\r\n#### " + item.GetJsonValue("ProjectName", "").Trim() + " V" + item.GetJsonValue("VerStr", "");
var logs = item.GetJsonValue("LogText", "").Replace("\r", "\n").Replace("\n\n", "\n").Split('\n');
for (int m = 0; m < logs.Length; m++)
{
@ -33,6 +33,10 @@ namespace SuperDesign.Manager
{
log_text += "\r\n- " + log_item;
}
else if (log_item.StartsWith("#### "))
{
log_text += "\r\n" + log_item;
}
else
{
log_text += "\r\n- *." + log_item;

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("3.0.2501.1302")]
[assembly: AssemblyFileVersion("3.0.2501.1302")]
[assembly: AssemblyVersion("3.0.2501.1401")]
[assembly: AssemblyFileVersion("3.0.2501.1401")]

View File

@ -90,6 +90,8 @@
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.Html日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BtnPublishLogs = new ryControls.ButtonEx();
this.LblUseTime = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.table1)).BeginInit();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
@ -721,6 +723,7 @@
//
// tabPage4
//
this.tabPage4.Controls.Add(this.LblUseTime);
this.tabPage4.Controls.Add(this.ChkUpdateVerByPublish);
this.tabPage4.Controls.Add(this.BtnSubmitGit);
this.tabPage4.Controls.Add(this.tabControl1);
@ -799,10 +802,11 @@
this.LvUpdateLogList.ContextMenuStrip = this.contextMenuStrip1;
this.LvUpdateLogList.Cursor = System.Windows.Forms.Cursors.Default;
this.LvUpdateLogList.FullRowSelect = true;
this.LvUpdateLogList.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.LvUpdateLogList.HideSelection = false;
this.LvUpdateLogList.Location = new System.Drawing.Point(3, 6);
this.LvUpdateLogList.Location = new System.Drawing.Point(3, 39);
this.LvUpdateLogList.Name = "LvUpdateLogList";
this.LvUpdateLogList.Size = new System.Drawing.Size(345, 368);
this.LvUpdateLogList.Size = new System.Drawing.Size(345, 335);
this.LvUpdateLogList.TabIndex = 10;
this.LvUpdateLogList.UseCompatibleStateImageBehavior = false;
this.LvUpdateLogList.View = System.Windows.Forms.View.Details;
@ -860,6 +864,22 @@
this.BtnPublishLogs.UseVisualStyleBackColor = true;
this.BtnPublishLogs.Click += new System.EventHandler(this.BtnPublishLogs_Click);
//
// LblUseTime
//
this.LblUseTime.AutoSize = true;
this.LblUseTime.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblUseTime.Location = new System.Drawing.Point(6, 13);
this.LblUseTime.Name = "LblUseTime";
this.LblUseTime.Size = new System.Drawing.Size(150, 17);
this.LblUseTime.TabIndex = 15;
this.LblUseTime.Text = "距离上次更新已经过去:0分";
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// FrmProject
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -963,5 +983,7 @@
private System.Windows.Forms.CheckBox ChkIsMain;
private System.Windows.Forms.CheckBox ChkUpdateVerByPublish;
private BrightIdeasSoftware.OLVColumn OlvTime;
private System.Windows.Forms.Label LblUseTime;
private System.Windows.Forms.Timer timer1;
}
}

View File

@ -1203,6 +1203,11 @@ namespace 开发辅助工具.Tools
{
var row = ds_logs.GetRow(i);
var IntervalTime = 0L;
if (i == 0)
{
last_updatelog_time = row["addTime"].ToInt64().ToDateTime();
LblUseTime.Text = "距离上次更新已经过去:" + RyDate.DateDiff(DateTime.Now, last_updatelog_time, false);
}
if (i < ds_logs.RowCount() - 1)
{
IntervalTime = row["addTime"].ToInt64() - ds_logs.GetRow(i + 1)["addTime"].ToInt64();
@ -1310,7 +1315,7 @@ namespace 开发辅助工具.Tools
ToolStripMenuItem.Text = "设为正式版本";
}
}
DateTime last_updatelog_time = DateTime.MinValue;
private void FrmProject_Shown(object sender, EventArgs e)
{
var _path = GetBFFolderPath();
@ -1361,6 +1366,11 @@ namespace 开发辅助工具.Tools
for (int i = 0; i < ds_logs.RowCount(); i++)
{
var row = ds_logs.GetRow(i);
if(i==0)
{
last_updatelog_time = row["addTime"].ToInt64().ToDateTime();
LblUseTime.Text = "距离上次更新已经过去:" + RyDate.DateDiff(DateTime.Now, last_updatelog_time, false);
}
var IntervalTime = 0L;
if (i< ds_logs.RowCount()-1)
{
@ -1495,14 +1505,27 @@ namespace 开发辅助工具.Tools
};
void AddUpLog(string name)
{
var lines = rich.Text.Replace("\r", "\n").Replace("\n\n", "\n").Split('\n').ToList<string>();
var lines = rich.Lines.ToList<string>();
var line_index= rich.GetLineFromCharIndex(rich.SelectionStart);
if (line_index < 0) { line_index = 0; }
else
{
for (int j = line_index; j>=0; j--)
{
if (lines[j].StartsWith("#### "))
{
line_index = j+1;break;
}
}
}
var find_line = -1;
var match = false;
Dictionary<string, int> dict_line = new Dictionary<string, int>();
for (int i1 = 0; i1 < lines.Count; i1++)
for (int i1 = line_index; i1 < lines.Count; i1++)
{
var line = lines[i1];
var stype = line.GetStr("[","]");
if(line.StartsWith("#### ")){ break; }
if (stype.Length > 0)
{
dict_line[stype] = i1;
@ -1619,7 +1642,7 @@ namespace 开发辅助工具.Tools
}
list2.Sort((x, y) => x.CompareTo(y));
var Main_Project = ini.ReadIni("project", "MainProject", "");
Dictionary<string, UpContentInfo> dict_up = new Dictionary<string, UpContentInfo>();
Dictionary<string,Dictionary<string,UpContentInfo>> dict_up = new Dictionary<string, Dictionary<string, UpContentInfo>>();
Dictionary<string, string> dict_eng_to_chs = new Dictionary<string, string>();
for (int i = 0; i < list2.Count; i++)
{
@ -1643,9 +1666,17 @@ namespace 开发辅助工具.Tools
}
if(!dict_up.ContainsKey(eng_name))
{
dict_up[eng_name] = new UpContentInfo();
dict_up[eng_name] =new Dictionary<string, UpContentInfo>();
}
var up_content = dict_up[eng_name];
var ValueTime = item_json.GetJsonValue("LogTime", "");
var JSON_ValueTime = ValueTime.Length == 0 ? new JArray() : JArray.Parse(ValueTime);
Dictionary<string, string> dict_group = new Dictionary<string, string>();
for (int jj = 0; jj < JSON_ValueTime.Count; jj++)
{
var item_jarr = JSON_ValueTime[jj];
dict_group[item_jarr.GetJsonValue("text", "")] = item_jarr.GetJsonValue("group", "");
}
var up_content_all = dict_up[eng_name];
var logs = item_json.GetJsonValue("LogText", "").Replace("\r", "\n").Replace("\n\n", "\n").Split('\n');
for (int m = 0; m < logs.Length; m++)
{
@ -1656,7 +1687,26 @@ namespace 开发辅助工具.Tools
log_item=log_item.Substring(2);
}
if (log_item.IndexOf("[开发]") >= 0) { continue; }
if (log_item.StartsWith("#### "))
{
continue;
}
#region
var group = "主功能";
if(dict_group.ContainsKey(log_item))
{
group = dict_group[log_item];
}
UpContentInfo up_content=null;
if (!up_content_all.ContainsKey(group))
{
up_content = new UpContentInfo();
up_content_all[group] = up_content;
}
else
{
up_content = up_content_all[group];
}
var name = log_item.GetStr("[", "]");
if (name == "新增")
{
@ -1682,58 +1732,69 @@ namespace 开发辅助工具.Tools
}
}
}
catch { }
catch(Exception ex)
{ }
}
string log_text = "";
if (dict_up.ContainsKey(Main_Project))
{
log_text += "<h4>" + System.Web.HttpUtility.HtmlEncode(dict_eng_to_chs.ContainsKey(Main_Project)? dict_eng_to_chs[Main_Project]:Main_Project) + "</h4>";
var main_info = dict_up[Main_Project];
for (int i = 0; i < main_info.AddInfo.Count; i++)
var main_info_all = dict_up[Main_Project];
foreach (var item in main_info_all)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.BetterInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.BetterInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.DelInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.DelInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.FixInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.FixInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.OtherInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.OtherInfo[i]) + "</p>";
var main_info = item.Value;
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item.Key) + "</h4>";
for (int i = 0; i < main_info.AddInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.BetterInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.BetterInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.DelInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.DelInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.FixInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.FixInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.OtherInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.OtherInfo[i]) + "</p>";
}
}
}
foreach (var item in dict_up)
{
if (item.Key == Main_Project) { continue; }
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(dict_eng_to_chs.ContainsKey(item.Key) ? dict_eng_to_chs[item.Key] : item.Key) + "</h4>";
var main_info = item.Value;
for (int i = 0; i < main_info.AddInfo.Count; i++)
var main_info_all = item.Value;
foreach (var item2 in main_info_all)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.BetterInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.BetterInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.DelInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.DelInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.FixInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.FixInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.OtherInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.OtherInfo[i]) + "</p>";
var main_info = item2.Value;
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item2.Key) + "</h4>";
for (int i = 0; i < main_info.AddInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.BetterInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.BetterInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.DelInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.DelInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.FixInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.FixInfo[i]) + "</p>";
}
for (int i = 0; i < main_info.OtherInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.OtherInfo[i]) + "</p>";
}
}
}
RyFiles.CopyToClip(log_text.Trim());
@ -1744,6 +1805,21 @@ namespace 开发辅助工具.Tools
{
if (ProcUse) { return; }
}
private void timer1_Tick(object sender, EventArgs e)
{
if(DateTime.Now.Second==0)
{
if(last_updatelog_time!=DateTime.MinValue)
{
LblUseTime.Text = "距离上次更新已经过去:" + RyDate.DateDiff(DateTime.Now, last_updatelog_time,false);
}
else
{
LblUseTime.Text = "距离上次更新已经过去:首次更新";
}
}
}
}
class UpLogItem
{

View File

@ -126,7 +126,13 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>388, 17</value>
<value>392, 17</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>542, 18</value>
</metadata>
</root>

View File

@ -565,7 +565,7 @@ namespace 开发辅助工具.Tools
string timespan_str = "";
if (timespan < 1000) { timespan_str = timespan + "毫秒"; }
else { timespan_str = timespan / 1000 + "秒" + timespan % 1000 + "毫秒"; }
this.RichStatus.Text = "StatusCode:" + result.StatusCode.ToString()+"["+ (int)result.StatusCode+ "]" + "\r\nStatusDescription:" + result.StatusDescription + "\r\n耗时:" + timespan_str+"\r\n"+"实际地址:"+ result.ResponseUri;
this.RichStatus.Text = "StatusCode:" + result.StatusCode.ToString()+"["+ (int)result.StatusCode+ "]" + "\r\nStatusDescription:" + result.StatusDescription + "\r\n提交时间:" + dt.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n响应耗时:" + timespan_str+"\r\n"+"实际地址:"+ result.ResponseUri;
this.RichHeader.Text = "";
if (result.Header != null)
{

View File

@ -37,7 +37,7 @@ namespace SuperDesign.Tools.UpLog
int index = 0;
private void BtnCopyMD_Click(object sender, EventArgs e)
{
RyFiles.CopyToClip(MdLog);
RyFiles.CopyToClip(MdLog.Replace("\r\n\r\n","\r\n"));
var git_path= SuperDesign.Manager.APIManager.GetTortoiseGitProcPath();
if(git_path.Length>0 && BFFolderPath.Length>0)
{

View File

@ -10,7 +10,9 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Media;
using System.Xml.Linq;
using TheArtOfDev.HtmlRenderer.WinForms;
namespace SuperDesign.Tools
{
@ -57,30 +59,82 @@ namespace SuperDesign.Tools
for (int l = 0; l < LogText_lines.Length; l++)
{
if (LogText_lines[l].Length == 0) { continue; }
if (LogText.Length > 0) { LogText += "\n"; }
if(dict.ContainsKey(LogText_lines[l]))
if (LogText.Length > 0) { LogText += "<br />"; }
var line = "";
var log_line_n1 = "";
var n1_color = "";
var log_line_n2 = LogText_lines[l];
if(log_line_n2.StartsWith("*.[新增]"))
{
LogText += LogText_lines[l] + "=>" + dict[LogText_lines[l]].ToDateTime().ToString("yyyy-MM-dd HH:mm");
log_line_n1 = "*.[新增]";
n1_color = "blue";
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
}
else
else if (log_line_n2.StartsWith("*.[改进]"))
{
LogText += LogText_lines[l];
log_line_n1 = "*.[改进]";
n1_color = "green";
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
}
else if (log_line_n2.StartsWith("*.[修复]"))
{
log_line_n1 = "*.[修复]";
n1_color = "red";
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
}
line = (log_line_n1.Length==0?"":("<b><span color='"+ n1_color + "'>"+log_line_n1+"</span></b>"))+ System.Web.HttpUtility.HtmlEncode(log_line_n2);
if (dict.ContainsKey(LogText_lines[l]))
{
var dt = dict[LogText_lines[l]].ToDateTime();
var dt_str= dt.ToString("yyyy-MM-dd HH:mm");
if(dt.Date==DateTime.Now.Date)
{ dt_str = "今天 "+ dt.ToString("HH:mm"); }
else if (dt.Date.AddDays(1) == DateTime.Now.Date)
{ dt_str = "昨天 " + dt.ToString("HH:mm"); }
else
{
var index = (int)DateTime.Now.DayOfWeek;
index = index == 0 ? 7 : index;
//当前周的范围
DateTime retStartDay = DateTime.Now.Date.AddDays(-(index - 1));
if(dt >= retStartDay && dt < retStartDay.AddDays(7))
{
dt_str = "本周 " + dt.ToString("dd HH:mm");
}
}
line += "<span color='red'>" + System.Web.HttpUtility.HtmlEncode("=>" + dt_str) + "</span>";
}
if(line.StartsWith("#### "))
{
line ="<b>"+ line + "</b>";
}
LogText += line;
}
RichTextBox2 rich = new RichTextBox2
HtmlPanel htmlPanel = new HtmlPanel
{
Parent = tab,
Font = new Font("微软雅黑", 21),
Dock = DockStyle.Fill,
Font = new Font("微软雅黑", 11),
ReadOnly=true,
BackColor=Color.White,
ScrollBars= RichTextBoxScrollBars.Both,
WordWrap=false,
Location = new Point(label.Left, label.Top + label.Height + 4),
Size = new Size(tab.ClientSize.Width, tab.ClientSize.Height - (label.Top + label.Height + 4)),
Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom,
Text= LogText
BaseStylesheet = "body { font:11pt Consolas }",
Text = "<body>" + LogText + "</body>"
};
//RichTextBox2 rich = new RichTextBox2
//{
// Parent = tab,
// Dock = DockStyle.Fill,
// Font = new Font("微软雅黑", 11),
// ReadOnly=true,
// BackColor=Color.White,
// ScrollBars= RichTextBoxScrollBars.Both,
// WordWrap=false,
// Location = new Point(label.Left, label.Top + label.Height + 4),
// Size = new Size(tab.ClientSize.Width, tab.ClientSize.Height - (label.Top + label.Height + 4)),
// Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom,
// Text= LogText
//};
tabControl1.TabPages.Add(tab);
}
}