Mar*_*tin 7 vb.net design-time richtextbox visual-studio .net-2.0
我有一个System.Windows.Forms.RichTextBox,我希望用它来向我的应用程序用户显示一些指令.
是否可以将我在设计时输入的一些文本设置为粗体?
或者我没有选择,只能在运行时这样做?
在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到表单上.选择RichText属性,然后单击带有点的按钮.这将启动Wordpad.编辑文本,键入Ctrl + S并关闭Wordpad.请注意,当Wordpad处于打开状态时,Visual Studio设计器不起作用.
Imports System.ComponentModel
Imports System.Drawing.Design
Imports System.IO
Imports System.Diagnostics
Public Class MyRtb
Inherits RichTextBox
<Editor(GetType(RtfEditor), GetType(UITypeEditor))> _
Public Property RichText() As String
Get
Return MyBase.Rtf
End Get
Set(ByVal value As String)
MyBase.Rtf = value
End Set
End Property
End Class
Friend Class RtfEditor
Inherits UITypeEditor
Public Overrides Function GetEditStyle(ByVal context As ITypeDescriptorContext) As UITypeEditorEditStyle
Return UITypeEditorEditStyle.Modal
End Function
Public Overrides Function EditValue(ByVal context As ITypeDescriptorContext, ByVal provider As IServiceProvider, ByVal value As Object) As Object
Dim fname As String = Path.Combine(Path.GetTempPath, "text.rtf")
File.WriteAllText(fname, CStr(value))
Process.Start("wordpad.exe", fname).WaitForExit()
value = File.ReadAllText(fname)
File.Delete(fname)
Return value
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
您当然可以在 RTF 编辑器(例如 WordPad)中创建 RTF 文档,保存文件,将其作为文本/纯文件打开,然后在设计时将 RTF 文档复制到RtfText您的属性中。RichTextBox
但我建议不要这样做。这样,您的代码中就会有大量数据,而\xe2\x80\x99s 则没有必要这样做。毕竟,使用资源,\xe2\x80\x99 就是它们的用途。您可以在设计时绑定各个资源来控制属性。
\n| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |