using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DCSoft.Writer; using DCSoft.Writer.Controls; using DCSoft.Writer.Commands; using DCSoft.Writer.Dom; using DCSoft.Drawing; using DCSoft.Writer.Data; using DCSoft.Writer.Security; using DCSoft.Common; using DCSoft.Data; using DCSoft.Writer.Printing; using DCSoft.Writer.Extension.Data; using DCSoft.Writer.Extension; using DCSoft.Design; using System.Linq; using System.Xml; using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Reflection; namespace DocumentManagement { /// /// /// public partial class frmTemplate : Form { public PrintTemplate model = new PrintTemplate(); /// /// 数据源树状列表控制器 /// private DataSourceTreeViewControler dstvControler = null; public WriterControl editControl { get { return this.myEditControl; } } public RichTextBox RTB_Click { get { return this.rtbClick; } } public RichTextBox RTB_Content { get { return this.rtbContent; } } /// /// 元素事件窗体 /// //private frmElementEvents frmElementEvents; //private XTextDocument bakDoc = null; private XTextElementList tempList,tempChkList; private bool delFlag = true; private FlagXTextRangeProvider provider = new FlagXTextRangeProvider(); private CompilerResults cr; private Type type; public frmTemplate() { InitializeComponent(); myEditControl.ServerObject = new ServerObjectSample(this); //myEditControl.ViewMode = Printing.PageViewMode.Normal; //myEditControl.Document.Options.EditOptions.AutoEditElementValue = true; //myEditControl.IsAdministrator = true; //myEditControl.Readonly = true; //myEditControl.KeyPress += new KeyPressEventHandler(myEditControl_KeyPress); myEditControl.DocumentControler = new MyDocumentControler(); //myEditControl.IsAdministrator = true; //myEditControl.DocumentControler.DataFilter = new MyDataFilter(); //myEditControl.HeaderFooterReadonly = true; myEditControl.AllowDragContent = true; //DocumentContentStyle style = myEditControl.Document.Style; //myEditControl.AutoSetDocumentDefaultFont = false; tabDataSource.Visible = false; this.spDataSource.Visible = false; myEditControl.MoveFocusHotKey = MoveFocusHotKeys.Tab; } private AppStartOptions _StartOptions = new AppStartOptions(); public AppStartOptions StartOptions { get { return _StartOptions; } set { _StartOptions = value; } } private void frmTemplate_Load(object sender, EventArgs e) { this.myEditControl.EventCanInsertObject += new DCSoft.Writer.CanInsertObjectEventHandler(this.myEditControl_EventCanInsertObject); this.myEditControl.EventInsertObject += new DCSoft.Writer.InsertObjectEventHandler(this.myEditControl_EventInsertObject); //this.myEditControl.DocumentControler = new DocumentControlerExt(); // 添加扩展编辑器命令模块对象 myEditControl.AppHost.CommandContainer.Modules.Add( new DCSoft.Writer.Extension.WriterCommandModuleExtension()); //DCSoft.Writer.Controls.TextWindowsFormsEditorHost.PopupFormSizeFix = new System.Drawing.Size(40, 20); myEditControl.Font = new Font(System.Windows.Forms.Control.DefaultFont.Name, 12); if (_StartOptions == null) { _StartOptions = new AppStartOptions(); } //// 设置编辑器界面双缓冲 //myEditControl.DoubleBuffering = _StartOptions.DoubleBuffering; // 初始化设置命令执行器 myEditControl.CommandControler = myCommandControler; //myEditControl.CommandControler.UpdateBindingControlStatus(); myCommandControler.Start(); myEditControl.DocumentOptions = new DocumentOptions(); // 设置文档处于调试模式 myEditControl.DocumentOptions.BehaviorOptions.DebugMode = true; if (_StartOptions.EnablePermissionControl) { // Enable permission control // 允许逻辑删除 myEditControl.DocumentOptions.SecurityOptions.EnableLogicDelete = true; // 启用授权控制 myEditControl.DocumentOptions.SecurityOptions.EnablePermission = true; // 显示逻辑删除的内容 myEditControl.DocumentOptions.SecurityOptions.ShowLogicDeletedContent = true; // 显示痕迹标记 myEditControl.DocumentOptions.SecurityOptions.ShowPermissionMark = true; //mPermissionConfig.Enabled = true; //mLogin.Enabled = true; //myEditControl.AutoUserLogin = true; //myEditControl.AutoUserLoginInfo = _StartOptions.LoginInfo; } else { // Without permission control myEditControl.DocumentOptions.SecurityOptions.EnableLogicDelete = false; myEditControl.DocumentOptions.SecurityOptions.EnablePermission = false; myEditControl.DocumentOptions.SecurityOptions.ShowLogicDeletedContent = false; myEditControl.DocumentOptions.SecurityOptions.ShowPermissionMark = false; //mPermissionConfig.Enabled = false; //mLogin.Enabled = false; //myEditControl.AutoUserLogin = false; } //this.myEditControl_DocumentLoad(null, null); //model.Id = 2; if (model.Id != 0) { model = DocumentDAL.GetTemplatebyId(model.Id); } tempList = new XTextElementList(); tempChkList = new XTextElementList(); //DocumentDAL.LoadKBLibaray(); myEditControl.ExecuteCommand("LoadKBLibrary", false, DocumentDAL.Lib); //string kbFile = System.IO.Path.Combine(Application.StartupPath + "\\PrintDC\\", "kblibrary.xml"); //if (System.IO.File.Exists(kbFile)) //{ // //自动加载默认的知识库 // //KBLibrary lib = (KBLibrary)myEditControl.ExecuteCommand("LoadKBLibrary", false, kbFile); // // 设置加载知识库中模板使用的文件系统 // //myEditControl.AppHost.FileSystems[lib.TemplateFileSystemName] // // = EMR.EMRFileSystem.Instance; //} // 注册自定义的输入域下拉列表提供者 myEditControl.AppHost.Services.AddService( typeof(IListItemsProvider), new MyListItemsProvider()); mDataSourceList_Click(null, null); // 执行一次新增文件操作 myEditControl.ExecuteCommand("FileNew", true, null); //byte[] array = Encoding.UTF8.GetBytes(strXML); //MemoryStream stream = new MemoryStream(array); //convert stream 2 string //StreamReader reader = new StreamReader(stream); //myEditControl.ExecuteCommand("FileOpen", false, reader); //reader.Close(); //stream.Close(); //myEditControl.ExecuteCommand("InsertXML", false, strXML); //document.Parameters.SetValue("title", System.Configuration.ConfigurationManager.AppSettings["HospitalName"].ToString()); //myEditControl.RefreshDocument(); //myEditControl.ExecuteCommand("UpdateViewForDataSource", false, null); //如果不为空,则“编辑”状态 if (model.Id != 0) { myEditControl.LoadDocumentFromString(model.XmlFile, "xml"); myEditControl.Document.FileName = model.XmlFileName; //bakDoc = new XTextDocument(); //bakDoc.Fields.AddRange(myEditControl.Document.Fields.ToArray()); tempList.AddRange(myEditControl.Document.Fields); //tempList.ToArray().ToList() //.ForEach(element => // listFields.Items.Add( // new ListItem // { // Text = ((XTextInputFieldElementBase)element).BackgroundText // , // Value = element.ID // })); //listFields.DisplayMember = listFields.text; tempChkList.AddRange(myEditControl.Document.GetElementsByType(typeof(XTextCheckBoxElement))); myEditControl.DocumentContentChanged += new WriterEventHandler(myEditControl_DocumentContentChanged); //ImageList lg = new ImageList(); //lg.Images.Add(this.toolStripButton2.Image); //lg.Images.Add(this.toolStripMenuItem12.Image); //listFields.SmallImageList = lg; //if (model.XmlStatic.Length > 0) //{ // XmlDocument doc = new XmlDocument(); // doc.LoadXml(model.XmlStatic); // UpdateListView(doc); //} //else //{ // UpdateListView(); //} UpdateListView(); } else { /* //第一行页眉 医院民称 XTextDocument document = this.myEditControl.Document; ContentBuilder bulder = new ContentBuilder(document.Header); XTextInputFieldElement title = new XTextInputFieldElement(); title.BackgroundText = "医院名称"; title.FieldSettings = new InputFieldSettings(); //title.FieldSettings.EditStyle = InputFieldEditStyle.Text; //title.DisplayFormat = new ValueFormater(); //title.ValueBinding = new DCSoft.Writer.Data.XDataBinding(); //title.ValueBinding.DataSource = "title";//数据源的名称 //title.ValueBinding.AutoUpdate = true;//是否自动更新数据 bulder.Append(title); title.Style.Align = DCSoft.Drawing.DocumentContentAlignment.Center; DocumentContentStyle dcs2 = new DocumentContentStyle(); dcs2.FontSize = 12; dcs2.Color = System.Drawing.Color.Black; dcs2.Align = DCSoft.Drawing.DocumentContentAlignment.Left; bulder.AppendParagraphFlag(dcs2); myEditControl.ExecuteCommand("InsertString", false, " "); //myEditControl.RefreshDocument(); title.ID = "D_Title"; //title.StyleIndex = 0; //title.Style.FontSize = 16; //title.Style.Color = System.Drawing.Color.Gray; */ } //XTextInputFieldElement titleBase = (XTextInputFieldElement)myEditControl.Document.GetElementById("D_Title"); //if (titleBase != null) //{ // titleBase.Text = System.Configuration.ConfigurationManager.AppSettings["HospitalName"].ToString(); //} //dstvControler = new DataSourceTreeViewControler(tvwDataSource); //tvwDataSource.MouseDown += dstvControler.HandleTreeViewMouseDown; string fileName = System.IO.Path.Combine( Application.StartupPath, "DataSourceDescriptor.xml"); if (System.IO.File.Exists(fileName)) { dstvControler.LoadFile(fileName); } ////使checkbox居中显示 //XTextElementList list = myEditControl.Document.GetElementsByType(typeof(XTextCheckBoxElement)); //foreach (XTextElement el in list) //{ // ((XTextCheckBoxElement)el).Top = 15; // //DCSoft.WinForms.ResizeableType ResizeableType = new DCSoft.WinForms.ResizeableType(); // //ResizeableType = DCSoft.WinForms.ResizeableType.WidthAndHeight; // //((XTextCheckBoxElement)el).Resizeable = ResizeableType; // //MessageBox.Show(((XTextCheckBoxElement)el).WidthHeightRate.ToString()); //} //InitCodeCompiler(); } private void InitCodeCompiler() { var providerOptions = new Dictionary(); providerOptions.Add("CompilerVersion", "v4.0"); CodeDomProvider cdp = new CSharpCodeProvider(providerOptions); CompilerParameters cp = new CompilerParameters(); cp.GenerateExecutable = false; cp.GenerateInMemory = true; cp.ReferencedAssemblies.Add("mscorlib.dll"); cp.ReferencedAssemblies.Add("System.dll"); cp.ReferencedAssemblies.Add("System.Core.dll"); cp.ReferencedAssemblies.Add("DCSoft.Writer.dll"); cp.ReferencedAssemblies.Add("System.Data.Linq.dll"); cp.ReferencedAssemblies.Add("System.Xml.Linq.dll"); cp.ReferencedAssemblies.Add("System.Windows.Forms.dll"); string source = @" namespace DocumentManagement { using System; using System.Collections.Generic; using System.Linq; using DCSoft.Writer; using DCSoft.Writer.Dom; using System.Windows.Forms; using System.Reflection; public class BindEvents { private XTextDocument doc; private XTextContainerElement container; public BindEvents(DCSoft.Writer.Controls.WriterControl myEditControl) { doc = myEditControl.Document; container = myEditControl.Document; } public static void MouseClickEvent(){ // doc.EditorControl.FreezeUI(); // // doc.EditorControl.ReleaseFreezeUI(); // doc.EditorControl.UpdatePages(); } private void SetCheckedValue(string name, bool value) { var element = doc.GetElementsByName(name).FirstElement; if (element != null) { var pChecked = element.GetType().GetProperty(""Checked""); pChecked.SetValue(element, value, null); } } private bool GetCheckedValue(string name) { bool? result = null; var element = doc.GetElementsByName(name).FirstElement; if (element != null) { var pChecked = element.GetType().GetProperty(""Checked""); result = Convert.ToBoolean(pChecked.GetValue(element, null)); } return result.Value; } } } "; cr = cdp.CompileAssemblyFromSource(cp, source); if (cr.Errors.HasErrors) { MessageBox.Show("加载元素事件失败!"); } else { Assembly a = cr.CompiledAssembly; type = a.GetTypes().Where(x => x.IsClass).FirstOrDefault(); Type[] types = new Type[a.GetTypes().Length]; types[0] = typeof(WriterControl); ConstructorInfo ci = type.GetConstructor(types); if (ci != null) { object obj = ci.Invoke(new object[] { this.myEditControl }); } //myEditControl.Document.GetElementsByName("").FirstElement; } } /// /// Handle after load document /// /// /// private void myEditControl_DocumentLoad(object sender, EventArgs e) { myEditControl.SetDocumentParameterValue( "当前时间", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); //if (myEditControl.DocumentOptions.SecurityOptions.EnablePermission) //{ // // if enable permission // if (myEditControl.Document != null && _StartOptions.LoginInfo != null) // { // // User logon , add current user info to document. // myEditControl.UserLogin(_StartOptions.LoginInfo , false ); // } //} } /// /// Demo of server object in document /// public class ServerObjectSample { public ServerObjectSample(frmTemplate frm) { _Form = frm; } private frmTemplate _Form = null; public frmTemplate Form { get { return _Form; } } public string FormTitle { get { return _Form.Text; } } public string AppPath { get { return Application.StartupPath; } } private string _Name = "Zhang san"; public string Name { get { return _Name; } set { _Name = value; } } private DateTime _Birthday = new DateTime(1990, 1, 1); public DateTime Birthday { get { return _Birthday; } set { _Birthday = value; } } private string _Nation = "China"; public string Nation { get { return _Nation; } set { _Nation = value; } } } public class MyDocumentControler : DCSoft.Writer.Dom.DocumentControler { public override bool CanDelete(XTextElement element, DomAccessFlags flags) { //if (element is XTextInputFieldElement) //{ // return false; //} return base.CanDelete(element, flags); } } #region Click_Event private void menuClose_Click(object sender, EventArgs e) { this.Close(); } protected override void OnClosing(CancelEventArgs e) { base.OnClosing(e); } private void menuOpenXMLDemo_Click(object sender, EventArgs e) { HandleCommand(MyCommandNames.OpenXMLDemo); } private void menuOpenRTFDemo_Click(object sender, EventArgs e) { HandleCommand(MyCommandNames.OpenNursingRecordDemo); } private void mOpenFormViewDemo_Click(object sender, EventArgs e) { HandleCommand(MyCommandNames.OpenFormViewDemo); } private void mTest_Click(object sender, EventArgs e) { } private void mTestInsertField_Click(object sender, EventArgs e) { XTextInputFieldElement field = new XTextInputFieldElement(); field.FieldSettings = new InputFieldSettings(); field.FieldSettings.EditStyle = InputFieldEditStyle.DropdownList; //field.InitalizeText = "测试文本ABC"; field.Name = "COUNTRY"; field.BackgroundText = "Please select country"; field.FieldSettings.MultiSelect = false; field.Attributes = new XAttributeList(); field.Attributes.SetValue("Insert time", DateTime.Now.ToLongDateString()); field.OwnerDocument = myEditControl.Document; field.SetInnerTextFast("测试文本ABC"); XTextInputFieldElement newField = (XTextInputFieldElement)myEditControl.ExecuteCommand("InsertInputField", true, field); if (newField != null) { System.Console.WriteLine(newField.ToString()); } } private void mTestInsertMedic_Click(object sender, EventArgs e) { XTextInputFieldElement field = new XTextInputFieldElement(); field.FieldSettings = new InputFieldSettings(); field.FieldSettings.EditStyle = InputFieldEditStyle.DropdownList; field.FieldSettings.ListSource = new ListSourceInfo(); field.FieldSettings.ListSource.SourceName = "DOCEX"; field.FieldSettings.ListSource.DisplayPath = "Name"; field.FieldSettings.ListSource.ValuePath = "Name"; field.FieldSettings.MultiSelect = false; field.Attributes = new XAttributeList(); field.Attributes.SetValue("Insert Time", DateTime.Now.ToLongDateString()); field.Name = "Docex"; field.BackgroundText = "药品"; myEditControl.ExecuteCommand("InsertInputField", true, field); } private void mTestInsertImage_Click(object sender, EventArgs e) { System.Drawing.Image img = Image.FromFile(System.IO.Path.Combine(Application.StartupPath, "About.jpg")); myEditControl.ExecuteCommand("InsertImage", false, img); } private void mTestInsertString_Click(object sender, EventArgs e) { myEditControl.ExecuteCommand("InsertString", false, "abc"); } private void mTestInsertRTF_Click(object sender, EventArgs e) { myEditControl.ExecuteCommand("InsertRTF", false, @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}} {\colortbl ;\red255\green0\blue0;} {\*\generator Msftedit 5.41.21.2510;}{\info{\horzdoc}{\*\lchars ([\'7b\'a1\'a4\'a1\'ae\'a1\'b0\'a1\'b4\'a1\'b6\'a1\'b8\'a1\'ba\'a1\'be\'a1\'b2\'a1\'bc\'a3\'a8\'a3\'ae\'a3\'db\'a3\'fb\'a1\'ea\'a3\'a4}{\*\fchars !),.:\'3b?]\'7d\'a1\'a7\'a1\'a4\'a1\'a6\'a1\'a5\'a8\'44\'a1\'ac\'a1\'af\'a1\'b1\'a1\'ad\'a1\'c3\'a1\'a2\'a1\'a3\'a1\'a8\'a1\'a9\'a1\'b5\'a1\'b7\'a1\'b9\'a1\'bb\'a1\'bf\'a1\'b3\'a1\'bd\'a3\'a1\'a3\'a2\'a3\'a7\'a3\'a9\'a3\'ac\'a3\'ae\'a3\'ba\'a3\'bb\'a3\'bf\'a3\'dd\'a3\'e0\'a3\'fc\'a3\'fd\'a1\'ab\'a1\'e9}} \viewkind4\uc1\pard\sa200\sl276\slmult1\lang2052\f0\fs22 1\cf1 2\cf0 3\par }"); } private void mTestInsertXML_Click(object sender, EventArgs e) { myEditControl.XMLText = @" 111 111 11 1 11 2012-03-29T15:47:51.1032576+08:00 2012-03-29T15:47:51.1042577+08:00 1980-01-01T00:00:00 DCSoft.Writer Version:1.0.1111.28434 12 宋体 12 Document 0 0 "; } private void mTestUpdateData_Click(object sender, EventArgs e) { //XTextInputFieldElement field = (XTextInputFieldElement)myEditControl.GetCurrentElement(typeof(XTextInputFieldElement)); //field.EditorTextExt = DateTime.Now.ToString(); //return; //XTextElementList xTextElementList = this.myEditControl.Document.GetSpecifyElements(typeof(XTextInputFieldElement)); //myEditControl.IsAdministrator = true; //foreach (XTextFieldElement xTextInputFieldElement in xTextElementList) //{ // if (xTextInputFieldElement.Parent is XTextInputFieldElement || xTextInputFieldElement.Parent is XTextCheckBoxElement) // { // myEditControl.ExecuteCommand(StandardCommandNames.DeleteField, false, xTextInputFieldElement); // //xTextInputFieldElement.EditorDelete(true); // } //} //return; //using (dlgProperty dlg = new dlgProperty()) //{ // dlg.InstanceToShow = myEditControl.ServerObject; // dlg.Text = "This is values before update"; // dlg.ShowDialog(this); // int result = this.myEditControl.WriteDataSource(); // if (result == 0) // { // MessageBox.Show("No changed"); // } // else // { // dlg.Text = "This is values after update,modified " + result + " parts"; // dlg.InstanceToShow = myEditControl.ServerObject; // dlg.ShowDialog(this); // } //} } //private void mXML2RTF_Click(object sender, EventArgs e) //{ // MessageBox.Show("此处演示在后台将XDesigner.Writer格式的XML文档转换为RTF文档,不显示用户界面,可以运用在ASP.NET或Service程序中。"); // string sourceFileName = null; // string descFileName = null; // using (OpenFileDialog dlg = new OpenFileDialog()) // { // dlg.Filter = "XML文件|*.xml"; // dlg.CheckFileExists = true; // dlg.ShowReadOnly = false; // dlg.Title = "请选择一个XDesigner.Writer程序保存的XML文件"; // if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) // { // sourceFileName = dlg.FileName; // } // else // { // return; // } // } // using (SaveFileDialog dlg = new SaveFileDialog()) // { // dlg.Filter = "RTF文件(*.rtf)|*.rtf"; // dlg.CheckPathExists = true; // dlg.OverwritePrompt = true; // if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) // { // descFileName = dlg.FileName; // } // else // { // return; // } // } // XTextDocument document = new XTextDocument(); // document.Load(sourceFileName, "xml"); // using (System.Drawing.Graphics g = document.CreateGraphics()) // { // document.RefreshSize(g); // document.ExecuteLayout(); // document.RefreshPages(); // document.Save(descFileName, "rtf"); // } // MessageBox.Show(string.Format("成功的将“{0}”转换为“{1}”。", sourceFileName, descFileName)); //} /// /// 文档内容发生改变事件 /// /// /// private void myEditControl_DocumentContentChanged(object sender, WriterEventArgs e) { //System.Console.WriteLine(""); //System.Diagnostics.Debug.WriteLine( // System.Environment.TickCount + ":" + myEditControl.DocumentContentVersion); //XTextInputFieldElement field = myEditControl.Document.CurrentField as XTextInputFieldElement; if (model.Id != 0 && delFlag) { if (tempList.Count > myEditControl.Document.Fields.Count || tempChkList.Count > myEditControl.Document.GetElementsByType(typeof(XTextCheckBoxElement)).Count) { if (MessageBox.Show("删除域将导致历史数据无法对应模板,是否继续?", "提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.No) { myEditControl.ExecuteCommand("Undo", false, false); return; } else { //SetFiledID(); } } } } private void mTestSetInputFieldText_Click(object sender, EventArgs e) { XTextInputFieldElement field = (XTextInputFieldElement)myEditControl.GetCurrentElement( typeof(XTextInputFieldElement)); if (field != null) { // 直接设置文本输入域的内容 field.EditorTextExt = DateTime.Now.ToString(); } } private void mTestInsertCheckBoxList_Click(object sender, EventArgs e) { myEditControl.ExecuteCommand("InsertCheckBoxList", true, null); //myEditControl.Document.GetSpecifyElements(typeof(XTextCheckBoxElement)); } private void mTestSetStyle_Click(object sender, EventArgs e) { XTextInputFieldElement field = (XTextInputFieldElement)myEditControl.Document.GetCurrentElement(typeof(XTextInputFieldElement)); if (field != null) { using (FontDialog dlg = new FontDialog()) { dlg.Font = field.RuntimeStyle.Font.Value; dlg.Color = field.RuntimeStyle.Color; dlg.ShowColor = true; if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { DocumentContentStyle newStyle = new DocumentContentStyle(); newStyle.DisableDefaultValue = true; newStyle.Font = new XFontValue(dlg.Font); newStyle.Color = dlg.Color; //newStyle.BackgroundColor = Color.Yellow; field.EditorSetContentStyle(newStyle, true); //field.EditorText = ""; //field.EditorText = DateTime.Now.ToString(); } } } } private void mTestChangeEditorTextExt_Click(object sender, EventArgs e) { XTextInputFieldElement field = (XTextInputFieldElement)myEditControl.GetCurrentElement(typeof(XTextInputFieldElement)); if (field != null) { XTextElementList fields = myEditControl.Document.Fields; XTextInputFieldElement nextField = (XTextInputFieldElement)fields.GetNextElement(field); if (nextField != null) { nextField.EditorTextExt = Guid.NewGuid().ToString(); } } } private void mPermissionConfig_Click(object sender, EventArgs e) { //using (dlgPermissionConfig dlg = new dlgPermissionConfig()) //{ // dlg.Document = this.myEditControl.Document; // if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) // { // myEditControl.RefreshDocument(); // } //} } private void mLogin_Click(object sender, EventArgs e) { //using (dlgLogin dlg = new dlgLogin()) //{ // if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) // { // myEditControl.UserLogin(); // } //} } private void mTestChangeParagraphFormat_Click(object sender, EventArgs e) { myEditControl.Document.ContentStyles.Default.SpacingBeforeParagraph = 90f; myEditControl.RefreshDocument(); } private void mTestSetHeaderFooter_Click(object sender, EventArgs e) { //XTextDocument document = myEditControl.Document; //ContentBuilder bulder = new ContentBuilder(document.Header); //DocumentContentStyle dcs = new DocumentContentStyle(); //dcs.FontSize = 20; //dcs.Color = System.Drawing.Color.Red; //bulder.Append("这是一段页眉 第 ", dcs); //XTextPageInfoElement pi = new XTextPageInfoElement(); //pi.ValueType = PageInfoValueType.PageIndex; //pi.StyleIndex = document.ContentStyles.GetStyleIndex(dcs); //bulder.Append(pi); //bulder.Append("共 页", dcs); //XTextPageInfoElement pc = new XTextPageInfoElement(); //pc.ValueType = PageInfoValueType.NumOfPages; //pc.StyleIndex = document.ContentStyles.GetStyleIndex(dcs); //bulder.Append(pc); //bulder.Append("页", dcs); //dcs = new DocumentContentStyle(); //dcs.Align = DocumentContentAlignment.Center; ////dcs.BorderBottom = true; ////dcs.BorderSpacing = 10; ////dcs.BorderWidth = 1; //bulder.SetParagraphStyle(dcs); //bulder = new ContentBuilder(document.Body); //dcs = new DocumentContentStyle(); //dcs.Color = System.Drawing.Color.Yellow; //bulder.Append("这是文档正文内容", dcs); //bulder.AppendParagraphFlag(); //dcs = new DocumentContentStyle(); //dcs.FontSize = 40; //bulder.Append("页面第二行", dcs); //bulder = new ContentBuilder(document.Footer); //dcs = new DocumentContentStyle(); //dcs.FontSize = 30; //dcs.Color = System.Drawing.Color.Blue; //bulder.Append("这是页脚内容", dcs); myEditControl.Document.ContentStyles.Default.FontSize = 40; myEditControl.Document.ContentStyles.Default.Color = System.Drawing.Color.Tomato; myEditControl.Document.ContentStyles.Default.LineSpacingStyle = DCSoft.Drawing.LineSpacingStyle.SpaceSpecify; myEditControl.Document.ContentStyles.Default.LineSpacing = 60; myEditControl.RefreshDocument(); } private void mTestInsertDocument_Click(object sender, EventArgs e) { myEditControl.ExecuteCommand("InsertXML", false, @"姓名:\r\n姓名: #xm# 住址:(单位)家庭住址\r\n性别: #xb# 职业: #zy#\r\n年龄: #nl# 婚姻: #hyzk# \r\n民族: #mz# 入院日期 #ryrq#\r\n出生地: #csd# 记录日期 \r\n病史陈述者:患者本人 可靠程度:\r\ntruetruetrue2012-09-19T14:03:29.4695325+08:002012-09-19T14:03:29.4695325+08:001980-01-01T00:00:00DCSoft.Writer Version:1.1.1111.282061false宋体12