其实做起来没那么难。我刚刚完成了一个项目,其中整个 UI 都围绕着允许用户创建、保存、编辑然后填写模板。您实际上可以将信息保存在字节数组中,然后将其保存到数据库中。这是我使用的新模板方法的示例。这并不难,但可以在此处包含更多信息。表单的创建是最难的部分。这个表单的创建是 3100 行代码。
private void doNew()
{
try
{
this.m_bDialogOpen = true;
//New instance of data object
MergeLetterDocsDO clnt = new MergeLetterDocsDO(7);
//Creates a new title or name for the template
NewMergeLetterTitle title = new NewMergeLetterTitle("New Merge Letter", 7);
DialogResult dr = title.ShowDialog();
if (dr == DialogResult.OK)
{
Form1 frm = new Form1(Simple.Form1.DocumentTypes.MERGE_LETTER, Simple.Form1.OperationModes.DESIGN_TIME, null);
frm.ShowDialog(this);
byte[] bb = frm.InternalFormatDocument;
byte[] rtfbb = frm.RtfFormatDocument;
clnt.SaveNewMergeTemplate(bb, rtfbb, bb.Length, rtfbb.Length, title.MergeLetterTitle);
}
this.m_bDialogOpen = false;
this.Populate();
}
catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}
}O