重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
添加spire.doc.jar为依赖,百度搜索免费版的下载即可
公司主营业务:网站设计、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出汉寿免费做网站回馈大家。
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System.Drawing
Namespace SetRowSpace
Class Program
Shared Sub Main(ByVal args() As String)
'创建文档
Document doc = New Document()
'添加section
Dim s As Section = doc.AddSection()
'添加段落
Dim para As Paragraph = s.AddParagraph()
para.AppendText("这是测试文字,这是测试文字,这是测试文字,这是测试文字,这是测试文字," +
"这是测试文字,这是测试文字,这是测试文字,这是测试文字,这是测试文字,这是测试文字,"+
"这是测试文字,这是测试文字,这是测试文字,这是测试文字。")
'设置段落中行距
para.Format.LineSpacing = 20f
'创建段落样式
Dim style As ParagraphStyle = New ParagraphStyle(doc)
style.Name = "paraStyle"
style.CharacterFormat.FontName = "宋体"
style.CharacterFormat.FontSize = 13
doc.Styles.Add(style)
'应用段落样式
para.ApplyStyle("paraStyle")
'保存文档
doc.SaveToFile("SetLineSpacing.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("SetLineSpacing.docx")
End Sub
End Class
End Namespace
Label 控件不可以水平,上下居中
不过可以用 PictureBox 控件做到
拖动一个 PictureBox 控件到工程,并命名为 picTextShow,把 AutoDraw 设为 True,加上以下代码就可以实现:
Option Explicit Private Sub Form_Load() picTextShow.CurrentX=(picTextShow.ScaleWidth-picTextShow.TextWidth("要显示的文本"))/2 picTextShow.CurrentY=(picTextShow.ScaleHeight-picTextShow.TextHeight("要显示的文本"))
picTextShow.Print "要显示的文本" End Sub
这样文本就可以在图片框中间显示了。
太晚了,想不出什么好方法了。
发上来看看吧。
首先建立一个TextBox,我这里名字为TextBox2
然后放一个groupbox,在里头放两个Checkbox,checkbox1为粗体,checkbox2为斜体。
代码:
Dim Bold As Boolean
Dim Italic As Boolean
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
Bold = True
If Italic Then
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold Or FontStyle.Italic)
Else
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold)
End If
Else
Bold = False
If Italic Then
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic)
Else
TextBox2.Font = New Font(TextBox2.Font, 0)
End If
End If
End Sub
Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
If CheckBox2.Checked Then
Italic = True
If Bold Then
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic Or FontStyle.Bold)
Else
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic)
End If
Else
Italic = False
If Bold Then
TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold)
Else
TextBox2.Font = New Font(TextBox2.Font, 0)
End If
End If
End Sub
可以等等别人回答,看看有没有更好的方法。
给点提示吧,已粗体为例(完全是我自己的方法,不知别人是怎么做的):
'先获取选择的字体信息(字体、大小、样式。。。)
Dim currentFont As System.Drawing.Font = RichTextBox1.SelectionFont
'在重新定义某种样式的时候,不丢失其他信息
RichTextBox1.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, FontStyle.Bold)
你可以参考下这篇教程里面的方法C#设置段落间距,不过需要在你的工程文件中引用Spire.Doc.dll这个类库,
计算字符串的"字节长度":
dim dLength=System.Text.Encoding.Default.GetByteCount(theText)
注意,此方法只适用于"等宽"字体